Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment vérifier si un dossier existe et sinon le créer?

Avez-vous déjà essayé de vérifier si un dossier existe ou non à partir de la feuille de calcul Excel? Dans cet article, je vais parler de vérifier si un dossier existe dans un chemin spécifié, sinon, le dossier sera créé automatiquement sous le chemin.

Vérifiez si un dossier existe dans un chemin de fichier spécifique avec le code VBA

Créer le dossier s'il n'existe pas dans un chemin de fichier spécifique avec le code VBA


flèche bleue droite bulle Vérifiez si un dossier existe dans un chemin de fichier spécifique avec le code VBA


Le code VBA suivant peut vous aider à vérifier si un dossier existe dans un chemin de fichier spécifique, procédez comme suit:

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: vérifiez si un dossier existe dans un chemin de fichier spécifique:

Sub Test_Folder_Exist_With_Dir()
'Updateby Extendoffice 20161109
    Dim sFolderPath As String
    sFolderPath = "C:\Users\DT168\Desktop\Test folder"
    If Right(sFolderPath, 1) <> "\" Then
        sFolderPath = sFolderPath & "\"
    End If
    If Dir(sFolderPath, vbDirectory) <> vbNullString Then
        MsgBox "Folder exist", vbInformation, "Kutools for Excel"
    Else
        MsgBox "Folder doesn't exist", vbInformation, "Kutools for Excel"
    End If
End Sub

Remarque: Dans le code ci-dessus, vous devez modifier le chemin d'accès et le nom du dossier Dossier C: \ Users \ DT168 \ Desktop \ Test à votre besoin.

3. Puis appuyez F5 clé pour exécuter ce code, vous obtiendrez les résultats suivants:

dossier doc existe 1


flèche bleue droite bulle Créer le dossier s'il n'existe pas dans un chemin de fichier spécifique avec le code VBA

Vérifiez si un dossier existe dans un chemin de fichier, sinon, pour le créer sous ce chemin de fichier spécifique, le code VBA suivant peut vous aider à terminer ce travail.

1. Maintenez le ALT + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez le code suivant dans le Module Fenêtre.

Code VBA: Créez un dossier s'il n'existe pas dans un chemin de fichier:

Sub MakeMyFolder()
'Updateby Extendoffice 20161109
    Dim fdObj As Object
    Application.ScreenUpdating = False
    Set fdObj = CreateObject("Scripting.FileSystemObject")
    If fdObj.FolderExists("C:\Users\DT168\Desktop\Test folder") Then
        MsgBox "Found it.", vbInformation, "Kutools for Excel"
    Else
        fdObj.CreateFolder ("C:\Users\DT168\Desktop\Test folder")
        MsgBox "It has been created.", vbInformation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

Note: Dans le code ci-dessus, vous devez modifier le chemin d'accès et le nom du dossier Dossier C: \ Users \ DT168 \ Desktop \ Test à votre besoin.

3. Après avoir collé le code, appuyez sur F5 clé pour l'exécuter:

(1.) Si le dossier existe, une boîte de dialogue apparaîtra comme suit capture d'écran:

dossier doc existe 2

(2.) Si le dossier n'existe pas, il sera créé sous le chemin spécifique à la fois, et une boîte de dialogue apparaîtra pour vous rappeler que le dossier a été créé, voir capture d'écran:

dossier doc existe 3



Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    felipe · 20 days ago
    I'm running this macro, but in the step to create the folder, the process goes down.

    can you help me????


    'Comprobar si la carpeta existe

    Dim ruta As String
    Dim libro As String

    M = ActiveWorkbook.Name

    ruta = Application.Workbooks(M).Sheets("Diccionario").Range("B5").Value

    If Right(ruta, 1) <> "\" Then
    ruta = ruta & "\"
    End If
    If Dir(ruta, vbDirectory) <> vbNullString Then
    MsgBox "Folder exist, please continue"
    Else
    MsgBox "Folder doesn't exist"
    End If

    'Crea la carpeta que necesitas

    Dim fdObj As Object
    Dim folder As String

    folder = Application.Workbooks(M).Sheets("Dicionario").Range("B5").Value (here is where the process falls)

    Application.ScreenUpdating = False
    Set fdObj = CreateObject("Scripting.FileSystemObject")
    If fdObj.FolderExists(folder) Then
    MsgBox "Found it, pleace continue."
    Else
    fdObj.CreateFolder (folder)
    MsgBox "It has been created."
    End If
    Application.ScreenUpdating = True
  • To post as a guest, your comment is unpublished.
    Kyffer · 3 months ago
    Super Thanks!
  • To post as a guest, your comment is unpublished.
    Roger · 4 months ago
    Thanks Man, work amazing
  • To post as a guest, your comment is unpublished.
    Bengbeng · 5 months ago
    This is really helpful! thanks!
  • To post as a guest, your comment is unpublished.
    Kenneth · 11 months ago
    Great article. Just what I was looking for :)