Médiaforma

VBA Excel – Modifier et lire les attributs des fichiers

Partagez cet article sur vos réseaux

Dans Windows, les fichiers possèdent des attributs qui peuvent changer leur comportement dans l’explorateur de fichiers. Par exemple, les fichiers cachés n’apparaitront pas dans l’explorateur de fichiers, ou encore, les fichiers à lecture seule ne pourront pas être modifiés.

Modifier les attributs d’un fichier

En utilisant l’instruction VBA SetAttr, vous pouvez modifier l’attribut d’un fichier quelconque. Voici sa syntaxe :

SetAttr "chemin", attribut

chemin est le chemin complet du fichier dont vous voulez modifier l’attribut et attribut est l’attribut que vous voulez lui donner.

Les différents attributs utilisables sont résumés dans ce tableau :

Paramètre Valeur numérique Description
vbNormal 0 Fichier normal
vbReadOnly 1 Lecture seule
vbHidden 2 Fichier caché
vbSystem 4 Fichier système
vbArchive 32 Archive
vbAlias 64 Lien symbolique

Par exemple, pour affecter l’attribut Lecture seule au fichier c:\data\a.pdf, vous utiliserez cette instruction :

SetAttr "c:\data\a.pdf", vbReadOnly

Vous pouvez également passer la valeur numérique correspondante à SetAttr :

SetAttr "c:\data\a.pdf", 1

Si nécessaire, vous pouvez cumuler plusieurs attributs en les additionnant. Par exemple, pour affecter les attributs Lecture seule et Fichier caché au fichier c:\data\a.pdf, vous utiliserez cette instruction :

SetAttr "c:\data\a.pdf", vbReadOnly + vbHidden

Ou encore :

SetAttr "c:\data\a.pdf", 3

Lire les attributs d’un fichier

Vous voulez connaitre l’attribut d’un fichier ? Utilisez la fonction GetAttr() :

GetAttr("chemin")

chemin est le chemin complet du fichier dont vous voulez connaitre les attributs.

Cette fonction retourne l’attribut du fichier spécifié sous une valeur numérique.

Par exemple, pour connaitre l’attribut de l’hypothétique fichier c:\data\a.pdf et l’afficher dans une boîte de dialogue, vous utiliserez cette instruction :

MsgBox "Le fichier c:\data\a.pdf a pour attribut : " & GetAttr("c:\data\a.pdf")

Ici, le fichier est en lecture seule :

 
Commentaires

Bonjour,
Je cherche à identifier lire les attributs de chaque fichier. Or le premier fichier du répertoire est un fichier caché, comment le lire et voir ses attributs. Mon but est de faire une macro qui pourrait s’appliquer à plusieurs répertoires.
Voici mon code :

Sub Liste()
Dim Chemin As String, Fichier As String

Chemin = Range(« A2 »).Value
Fichier = Dir(Chemin & « *.* »)
Do While Fichier «  »
MsgBox « Le fichier  » & Chemin & Fichier &  » a pour attribut :  » & GetAttr(Chemin & Fichier)
Fichier = Dir
Loop
End Sub

liste des fichiers dudit répertoire
~$List1Repert.xlsm AnalizCaractR.xlsm Fichier Anomalie.xlsx etc

comment faire pour accéder au fichier : ~$List1Repert.xlsm

M. JULLIEN Ph.

Bonjour,

Est-ce que vous savez modifier les attributs d’un dossier ?
Pour modifier sa date de création par exemple ?

Trackbacks for this post

Laissez un commentaire