Fonction Excel VBA DIR

Dir est l'une des fonctions disponibles dans VBA. La fonction Dir sert à référencer des répertoires en code VBA.
La fonction qui renvoie le nom de fichier ou de répertoire qui correspond à l'attribut ou à la chaîne donnée renvoie sinon le premier fichier ou dossier. En termes simples, si nous avons un dossier ABC et à l'intérieur de ABC il y a un fichier XYZ alors nous pouvons accéder au fichier XYZ en utilisant la fonction DIR dans VBA.

Formule pour la fonction DIR dans Excel VBA

La fonction DIR a la syntaxe suivante dans Excel VBA:

Il se compose de deux noms de chemin et d'attributs.

  • Chemin d'accès: Par son nom, tout le monde peut comprendre que c'est le chemin du fichier où le fichier existe réellement. Si nous n'entrons aucun chemin dans le chemin, il retournera une chaîne vide.
  • Attribut: C'est un argument facultatif, nous n'en utilisons pas beaucoup. Nous pouvons l'utiliser lorsque nous voulons ouvrir le fichier avec les attributs ci-dessous, puis VBA recherche ces fichiers.
vbArchiveSpécifie des archives ou des fichiers de sauvegarde.
vbNormalNormal (par défaut) ou aucun attribut.
vbReadOnlyfichiers en lecture seule
vbSystemFichiers système
vbVolumeétiquette de volume; Si vous utilisez un autre attribut avec celui-ci, le nom de volume est ignoré.
vbDirectoryRépertoires ou dossiers.
vbHiddenfichiers cachés
vbAliasLe nom de fichier est un alias

Comment utiliser la fonction DIR dans Excel VBA?

Voici les différents exemples d'utilisation de la fonction DIR dans Excel à l'aide du code VBA.

Vous pouvez télécharger ce modèle Excel VBA DIR ici - Modèle Excel VBA DIR

Fonction VBA DIR - Exemple # 1

Dans cet exemple, nous verrons comment accéder à un nom de fichier à l'aide de la fonction DIR dans VBA.

Étape 1: accédez à l'onglet Développeurs et cliquez sur Visual Basic

Étape 2: ouvrez un module à partir de l'option de menu Insérer, comme illustré ci-dessous.

Étape 3: Pour démarrer une macro, nous devons d'abord donner un nom à la macro avec le mot-clé 'sub' comme ci-dessous.

Code:

 Sub myexample1 () End Sub 

N'oubliez pas que nous écrivons notre code dans «Module1» lorsque nous saisissons «sub myexample ()», automatiquement «End sub» apparaîtra.

Étape 4: Définissez une chaîne en utilisant le mot-clé " Dim " qui fait référence à la dimension. Dans la capture d'écran ci-dessous, «mystring» est le nom de la chaîne.

Code:

 Sub myexample1 () Dim mystring As String End Sub 

N'oubliez pas que chaque fois que vous définissez les noms de types de données ou de programmes, il ne doit pas y avoir d'espace entre deux mots. "Mystring" pas d'espace entre "mon" et "chaîne".

Le fichier est disponible dans un exemple de dossier disponible sur le bureau et le nom du fichier est «KT tracker mine».

C: \ Users \ cba_13 \ Desktop \ Sample \

Étape 5: Maintenant, nous devons stocker le nom du fichier dans "mystring" en utilisant la fonction Dir.

Code:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") End Sub 

Dans la capture d'écran ci-dessus dans la fonction Dir, j'ai donné le chemin du fichier à l'exclusion du nom de fichier. Comme il n'y a qu'un seul fichier, il renverra le nom du fichier.

Étape 6: Maintenant, avec l'étape ci-dessus, le nom de fichier stocké dans la chaîne «mystring». Pour afficher le nom du fichier, nous devons l'afficher via une boîte de message. Créez une boîte de message.

Code:

 Sub myexample1 () Dim mystring As String mystring = Dir ("C: \ Users \ cba_13 \ Desktop \ Sample \") MsgBox (mystring) End Sub 

Nous avons donné l'instruction d'afficher les données dans «mystring» via la boîte de message, car «mystring» a un nom de fichier, il affichera le nom de fichier via la boîte de message.

Étape 7: Maintenant, exécutez le code en cliquant sur le bouton Lecture ou en appuyant sur la touche F5.

Fonction VBA DIR - Exemple # 2

Dans cet exemple, nous verrons comment ouvrir un fichier à l'aide de la fonction DIR dans Excel VBA.

Étape 1: Ouvrez l'écran du code VBA et commencez en donnant le nom du programme comme «exemple2» ou tout autre nom que vous souhaitez.

Code:

 Sub example2 () End Sub 

Étape 2: Définissez deux chaînes avec les noms «Foldername» et «Filename».

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String End Sub 

Étape 3: Attribuez maintenant le chemin du dossier au nom du dossier.

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" End Sub 

Étape 4: Attribuez le fichier au «nom de fichier» à l'aide de la fonction Dir. Ici, nous avons utilisé la variable "Foldername" car elle a le chemin du dossier. À l'aide de l'esperluette, nous avons ajouté le nom du fichier au chemin.

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Foldername & "KT Tracker mine.xlsx") End Sub 

Maintenant, la fonction Dir renvoie le nom du fichier et il sera stocké dans la variable "nom de fichier".

Étape 5: Dans l'exemple précédent, nous avons utilisé la boîte de message pour voir les résultats. Mais, en cela, nous voulons ouvrir le fichier, nous allons donc utiliser la commande "workbooks.open".

Code:

 Sub example2 () Dim Foldername As String Dim Filename As String Foldername = "C: \ Users \ cba_13 \ Desktop \ Sample \" Filename = Dir (Foldername & "KT Tracker mine.xlsx") Workbooks.Open Foldername & Filename End Sub 

Étape 6: Exécutez le code ci-dessus, il ouvrira le fichier disponible dans le dossier "C: \ Users \ cba_13 \ Desktop \ Sample \" avec le nom de fichier "KT Tracker mine".

Fonction VBA DIR - Exemple # 3

Nous allons maintenant voir le programme pour savoir si un dossier est disponible ou non. J'ai le dossier «Data» comme indiqué ci-dessous.

Nous devons vérifier à l'aide de la fonction Dir si le dossier «Data» est disponible dans le chemin C: \ Users \ cba_13 \ Desktop \ Sample \.

Étape 1: Créez un nom de programme et définissez deux chaînes avec les noms FD et FD1.

Code:

 Sub example3 () Dim Fd As String Dim Fd1 As String End Sub 

Étape 2: Attribuez le chemin du dossier à la variable «Fd».

Code:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" End Sub 

Étape 3: utilisez maintenant la fonction Dir pour renvoyer le nom du dossier comme indiqué ci-dessous.

Code:

 Sub example3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) End Sub 

Le résultat de la fonction Dir doit être le nom du dossier et il sera stocké dans la variable de chaîne Fd1. Si le dossier «Data» n'est pas disponible dans le dossier respectif, il ne renverra aucune chaîne.

Étape 4: Maintenant, nous devons vérifier si Fd1 a un dossier «Data» ou non. Utilisez la condition IF pour vérifier si Fd1 a la chaîne «Data» ou non. S'il est disponible, imprimez le relevé comme «Existe».

Code:

 Sous exemple3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) If Fd1 = "Data" Then MsgBox ("Exits") End Sous 

Étape 5: Si Fd1 ne correspond pas au dossier «Data», l'impression de la déclaration «Not Exists» dans une autre condition.

Code:

 Sous exemple3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) If Fd1 = "Data" Then MsgBox ("Exits") Else MsgBox ("Pas de sorties") End Sub 

Étape 6: Terminez la boucle «If» comme indiqué dans la capture d'écran ci-dessous.

Code:

 Sous exemple3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data" Fd1 = Dir (Fd, vbDirectory) If Fd1 = "Data" Then MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Étape 7: Exécutez le code en appuyant sur la touche F5 ou en cliquant sur le bouton Lecture pour vérifier si le dossier est disponible ou non. Si le dossier «Data» est disponible dans ce dossier, il renverra la boîte de message avec le message «Exists» comme ci-dessous.

Étape 8: changez simplement le nom du dossier en Data1.

 Sous-exemple3 () Dim Fd As String Dim Fd1 As String Fd = "C: \ Users \ cba_13 \ Desktop \ Sample \ Data1" Fd1 = Dir (Fd, vbDirectory) If Fd1 = "Data" Then MsgBox ("Exits") Else MsgBox ("Not Exits") End If End Sub 

Étape 9: réexécutez le code. Maintenant, le résultat est «n'existe pas» comme indiqué ci-dessous.

Choses dont il faut se rappeler

  • Les arguments de la fonction Dir sont facultatifs.
  • Si nous voulons des fichiers, dossiers ou types de répertoires cachés, mentionnez votre exigence dans le deuxième argument.
  • Utilisez «\» à la fin du nom du dossier tout en donnant la fonction Dir pour aller dans le dossier.
  • Si nous voulons appeler ou ouvrir plusieurs fichiers, nous pouvons utiliser le caractère générique "*" ou "?".

Articles recommandés

Ceci est un guide de la fonction DIR VBA. Ici, nous discutons de l'utilisation de la fonction DIR dans Excel VBA avec quelques exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA Workbook
  2. Fonction INDIRECTE dans Excel
  3. Nombre VBA
  4. Fonction Excel XOR

Catégorie: