Dir, fonction

Renvoie une valeur de typeString qui représente le nom d'un fichier, d'un répertoire ou d'un dossier correspondant à une chaîne de recherche ou à un attribut de fichier, ou encore le nom de volume d'un lecteur.

Syntaxe

Dir [(pathname, [ attributs ] ) ]

La syntaxe de la fonction Dir comprend les éléments suivants :

Élément Description
pathname Facultatif. Expression de chaînequi indique un nom de fichier ; peut inclure un répertoire ou un dossier et un lecteur. Une chaîne de longueur nulle (« ») est renvoyée sipathname est introuvable.
attributes Facultatif. Constanteouexpression numérique, dont la somme spécifie des attributs de fichier. Si cet argument est omis, il retourne des fichiers qui correspondent àpathname mais qui n’ont aucun attribut.

Paramètres

Les paramètres d’argumentd’attributs sont les suivants :

Constante Valeur Description
vbNormal 0 (Valeur par défaut) Spécifie des fichiers sans attributs.
vbReadOnly 1 Spécifie des fichiers en lecture seule et des fichiers sans attribut.
vbHidden 2 Spécifie des fichiers masqués et des fichiers sans attribut.
vbSystem 4 Spécifie des fichiers système et des fichiers sans attribut. Non disponible sur Macintosh.
vbVolume 8 Spécifie un nom de volume. Si un autre attribut est spécifié, la constantevbVolume est ignorée. Non disponible sur Macintosh.
vbDirectory 16 Spécifie des répertoires ou des dossiers et des fichiers sans attributs.
vbAlias 64 Le nom de fichier spécifié est un alias. Disponible uniquement sur Macintosh.

Remarque

Ces constantes sont spécifiées par Visual Basic pour Applications et peuvent remplacer les valeurs réelles dans tout votre code.

Remarques

Dans Microsoft Windows et macOS, Dir prend en charge l’utilisation de caractères génériques à plusieurs caractères (*) et à caractère unique (?) pour spécifier plusieurs fichiers.

Étant donné que Macintosh ne prend pas en charge les caractères génériques, utilisez le type de fichier pour identifier des groupes de fichiers. Vous pouvez utiliser la fonction MacID pour spécifier le type de fichier au lieu d’utiliser les noms de fichier. Par exemple, l’instruction suivante retourne le nom du premier fichier texte dans le dossier actif:

Dir("SomePath", MacID("TEXT"))

Pour itérer sur tous les fichiers d’un dossier, spécifiez une chaîne vide :

Dir()

Si vous utilisez la fonction MacID avecDir sous Microsoft Windows, une erreur se produit.

Toute valeur de l’argumentattribute supérieure à 256 est considérée comme une valeur MacID.

Vous devez spécifier l’argument pathname la première fois que vous appelez la fonction Dir, sinon une erreur se produit. Si vous spécifiez également des attributs de fichier, pathname doit être inclus.

Dir retourne le premier nom de fichier correspondant à pathname. Pour obtenir des noms de fichiers supplémentaires correspondant à pathname, appelez Dir une nouvelle fois sans aucun argument. Lorsque plus aucun nom de fichier ne correspond, Dir retourne une chaîne nulle (""). Une fois la chaîne nulle retournée, vous devez spécifier pathname dans les appels ultérieurs, sinon une erreur se produit.

Vous pouvez attribuer une nouvelle valeur àpathname sans récupérer tous les noms de fichier correspondant à la valeur actuelle depathname. Toutefois, vous ne pouvez pas appeler la fonction Dir de manière récursive. L’appel de Dir avec l’attribut vbDirectory ne retourne pas continuellement de sous-répertoires.

Conseil

Étant donné que les noms de fichiers sont récupérés dans un ordre non sensible à la casse sur Windows et dans l’ordre respectant la casse sur macOS, vous pouvez stocker les noms de fichiers retournés dans un tableau, puis trier le tableau.

Voir aussi

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.