Comment vérifier si un classeur existe dans un dossier ?
Pour vérifier si un classeur existe dans un dossier spécifique, vous pouvez utiliser la fonction DIR. DIR est une fonction qui représente le répertoire. Vous devez spécifier le chemin du fichier avec le nom et l’extension. Si un fichier existe, il renvoie le nom du fichier, sinon une valeur vide.
Écrire un code pour vérifier si un fichier Excel existe dans un dossier
Utilisez les étapes suivantes :
- Tout d’abord, spécifiez une plage ou une boîte de message pour obtenir le résultat de la fonction.
- Maintenant, entrez le nom de la fonction « DIR » et tapez les parenthèses de début.
- Après cela, entrez le chemin du fichier en utilisant des guillemets doubles et assurez-vous d’entrer l’extension de fichier avec le nom du fichier.
- Ensuite, tapez les parenthèses fermantes pour fermer la ligne de code.
Sub vba_Check_workbook()
MsgBox Dir("C:UsersDellDesktopbook1.xlsx")
End Sub
Lorsque vous exécutez cette ligne de code, une boîte de message contenant le nom du fichier s’affiche, ce qui signifie que le fichier existe à l’emplacement que vous avez spécifié.
Liens utiles : Exécuter une macro – Enregistreur de macros – Visual Basic Editor – Manuel de macros personnelles
Rechercher plusieurs fichiers s’ils existent dans un dossier
Il se peut que vous ayez besoin de vérifier plusieurs fichiers s’ils existent tous dans un dossier. Dans ce cas, vous pouvez utiliser le code suivant.
Sub vba_check_workbook()
Dim myFolder As String
Dim myFileName As String
Dim myRange As Range
Dim myCell As Range
Set myRange = Range("A1:A5")
myFolder = "C:UsersDellDesktopData"
For Each myCell In myRange
myFileName = myCell.Value
If Dir(myFolder & "" & myFileName) = "" Then
myCell.Offset(0, 1) = "File Doesn't Exists."
Else
myCell.Offset(0, 1) = "File Exists"
End If
Next myCell
End Sub
Pour comprendre ce code, je l’ai divisé en trois parties.
- Dans la PREMIÈRE partie, vous avez toutes les variables que nous devons utiliser dans le code. Une variable à utiliser comme adresse de dossier, nom de fichier, la plage où vous avez tous les noms et chaque cellule de la plage.
- Dans la DEUXIÈME partie, vous avez défini la plage d’adresse où vous avez tous les noms des fichiers que vous souhaitez vérifier. Et aussi le chemin du dossier assigné à la variable.
- Dans la TROISIÈME partie, vous avez une BOUCLE POUR CHAQUE pour parcourir tous les fichiers du dossier. Cette boucle utilise le DIR pour faire correspondre tous les noms que vous avez dans la plage. Il utilise également IF STATEMENT pour entrer une valeur dans la cellule correspondante comme remarque si le fichier existe ou non.
Remarque : Si vous souhaitez utiliser ce code, vous devez modifier le chemin du dossier et vous devez définir la plage dans laquelle vous avez tous les noms des classeurs.