Dir, fonction

Remarque : La fonction, la méthode, l’objet ou la propriété décrits dans cette rubrique est désactivée si le service d’expressions de Microsoft Jet s’exécute en mode sandbox, ce qui empêche l’évaluation d’expressions potentiellement non sûres. Pour plus d’informations sur le mode sandbox, recherchez « mode sandbox » dans l’Aide.

Renvoie une chaîne qui représente le nom d’un fichier, d’un annuaire ou d’un dossier qui correspond à un modèle ou un attribut de fichier spécifié, ou l’étiquette en volume d’un lecteur.

Syntaxe

Dir[(pathname [, attributes] )]

La syntaxe de la fonction Dir est la suivante :

Argument

Description

nom_chemin_accès

Facultatif. Expression de chaîne qui spécifie un nom de fichier (peut inclure un répertoire ou un dossier, et lecteur). Une chaîne nulle («  ») est renvoyée si le nom de chemin d’accès est innommable.

attributs

Facultatif. Constante ou expression numérique, dont la somme spécifie des attributs de fichier. Si cet attribut est omis, renvoie les fichiers qui correspondent au nom de chemin d’accès mais qui n’ont aucun attribut.


Paramètres

Les attributsargument paramètres sont les éléments :

Constante

Valeur

Description

vbNormal

0

(Par défaut) Spécifie les fichiers sans attributs.

vbReadOnly

1

Spécifie les fichiers en lecture seule en plus des fichiers sans attributs.

vbHidden

2

Spécifie les fichiers masqués en plus des fichiers sans attributs.

VbSystem

4

Spécifie les fichiers système en plus des fichiers sans attributs. Non disponible sur macintosh.

vbVolume

8

Spécifie l’étiquette en volume ; si un autre attribut est spécifié, vbVolume est ignoré. Non disponible sur macintosh.

vbDirectory

16

Spécifie des répertoires ou des dossiers en plus 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 (VBA) et peuvent être utilisées n’importe où dans votre code à la place des valeurs réelles.

Remarques

Dans Microsoft Windows, Dir prend en charge l’utilisation de caractères génériques multiples (*) et à caractère unique(?)pour spécifier plusieurs fichiers. Sur un Macintosh, ces caractères sont traités comme des caractères de nom de fichier valides et ne peuvent pas être utilisés comme caractères génériques pour spécifier plusieurs fichiers.

Étant donné que les 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 fichiers. Par exemple, l’instruction suivante renvoie le nom du premier fichier TEXTE dans le dossier actuel :

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

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

Dir("")

Si vous utilisez la fonction MacID avec Dir dans Windows, une erreur se produit.

Tout attribut d’une valeur supérieure à 256 est considéré comme une valeur MacID.

Vous devez spécifier le nom d’accès la première fois que vous appelez la fonction Dir ou une erreur se produit. Si vous spécifiez également des attributs de fichier, le nom de chemin d’accès doit être inclus.

Dir renvoie le premier nom de fichier qui correspond au nom de chemin d’accès. Pour obtenir d’autres noms de fichier qui correspondent au nom de chemin d’accès,appelez Dir à nouveau sans arguments. Lorsque les noms de fichiers ne correspondent plus, Dir renvoie une chaîne nulle («  »). Une fois qu’une chaîne nulle est renvoyée, vous devez spécifier le nom de chemin d’accès dans les appels suivants ou une erreur se produit. Vous pouvez changer de nom de chemin d’accès sans récupérer tous les noms de fichier qui correspondent au nom de chemin d’accès actuel. Toutefois, vous ne pouvez pas appeler la fonction Dir de manière récursive. L’appel de Diravec l’attribut vbDirectory ne retourne pas continuellement de sous-directions.

Conseil     Étant donné que les noms de fichiers ne sont récupérés dans aucun ordre particulier, vous pouvez stocker les noms de fichiers renvoyés dans une matrice, puis trier le tableau.

Exemple

Remarque : Les exemples qui suivent illustrent l’utilisation de cette fonction dans un module Visual Basic pour Applications (VBA). Pour plus d’informations sur l’travail avec VBA, sélectionnez Référence du développeur dans la liste de listes en regard de Rechercher, puis entrez un ou plusieurs termes dans la zone de recherche.

Cet exemple utilise la fonction Dir pour vérifier si certains fichiers et annuaires existent. Sur un Macintosh, « HD: » est le nom du lecteur par défaut et les parties du nom du chemin d’accès sont séparées par des points-points au lieu de barre obliques inverses. En outre, les caractères génériques Windows sont traités comme des caractères de nom de fichier valides sur Macintosh. Toutefois, vous pouvez utiliser la fonction MacID pour spécifier des groupes de fichiers.

Dim MyFile, MyPath, MyName
' Returns "WIN.INI" (on Microsoft Windows) if it exists.
MyFile = Dir("C:\WINDOWS\WIN.INI")
' Returns filename with specified extension. If more than one *.ini
' file exists, the first file found is returned.
MyFile = Dir("C:\WINDOWS\*.INI")
' Call Dir again without arguments to return the next *.INI file in the
' same directory.
MyFile = Dir
' Return first *.TXT file with a set hidden attribute.
MyFile = Dir("*.TXT", vbHidden)
' Display the names in C:\ that represent directories.
MyPath = "c:\" ' Set the path.
MyName = Dir(MyPath, vbDirectory) ' Retrieve the first entry.
Do While MyName <> "" ' Start the loop.
' Ignore the current directory and the encompassing directory.
If MyName <> "." And MyName <> ".." Then
' Use bitwise comparison to make sure MyName is a directory.
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyName ' Display entry only if it
End If ' it represents a directory.
End If
MyName = Dir ' Get next entry.
Loop

Besoin d’aide ?

Développez vos compétences dans Office
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×