Verifier si dossier existe

Bonsoir à tous

J'ai toujours un bug qui s'affiche si le dossier existe, pourtant l'instruction devra s'arrêter si c'est le cas.

Dim chemin As String, Dossier As String, fichier As String
chemin = ThisWorkbook.Path
Dossier = chemin & "\" & Range("A1")

    If Dir(Dossier, vbDirectory) <> vbNullString Then
       MsgBox "Le dossier existe..."

    Else
    MkDir chemin & "\" & "Unité de Travail"
    ActiveWorkbook.SaveAs chemin & "\" & "Unité de Travail" & "\" & Range("A1") & ".xlsm"
        MsgBox "L'Unité de Travail" & Range("A1") & "est copié dans le dossier Unité de Travail"

    End If

Je bloque

Bonsoir Jack, bonsoir le forum,

peu-être comme ça :

Sub Macro1()
Dim chemin As String, Dossier As String, fichier As String

chemin = ThisWorkbook.Path
Dossier = chemin & "\" & Range("A1").Value
On Error Resume Next
ChDir Dossier
If Err <> 0 Then
    MkDir chemin & "\" & "Unité de Travail"
    ActiveWorkbook.SaveAs chemin & "\" & "Unité de Travail" & "\" & Range("A1") & ".xlsm"
    MsgBox "L'Unité de Travail" & Range("A1") & "est copié dans le dossier Unité de Travail"
End If
End Sub

Super, merci ThauTheme

Petite question sur Le MsgBox

Celui ci s'affiche si le dossier existe, il ne devrait pas normalement !

Re,

Heu... Non ! Le message s'affiche si le dossier n'existe pas... En revanche, j'ai supprimé celui qui disait "Le dossier existe"... Mais tu peux utiliser le code ci-dessous qui affichera le bon message :

Sub Macro1()
Dim chemin As String, Dossier As String, fichier As String

chemin = ThisWorkbook.Path
Dossier = chemin & "\" & Range("A1").Value
On Error Resume Next
ChDir Dossier
If Err <> 0 Then
    MkDir chemin & "\" & "Unité de Travail"
    ActiveWorkbook.SaveAs chemin & "\" & "Unité de Travail" & "\" & Range("A1") & ".xlsm"
    MsgBox "L'Unité de Travail" & Range("A1").Value & " est copié dans le dossier Unité de Travail"
Else
    MsgBox "Le dossier existe !..."
End If
End Sub

Merci ThauTheme de ta réponse

Mais le MsgBox

Else
    MsgBox "Le dossier existe !..."
End If

Ne passe pas,

Quelque soit le résultat, l'instruction ne passe pas par mon MsgBox Else

?

Re,

Chez moi ça marche. J'ai modifié le code pour tester :

Sub Macro1()
Dim chemin As String, Dossier As String, fichier As String

'chemin = ThisWorkbook.Path
'Dossier = chemin & "\" & Range("A1").Value
Dossier = "Z:\poubelle\CharlieB"'dossier existant
On Error Resume Next
ChDir Dossier
If Err <> 0 Then
    MkDir chemin & "\" & "Unité de Travail"
    ActiveWorkbook.SaveAs chemin & "\" & "Unité de Travail" & "\" & Range("A1") & ".xlsm"
    MsgBox "L'Unité de Travail" & Range("A1").Value & " est copié dans le dossier Unité de Travail"
Else
    MsgBox "Le dossier existe !..."
End If
End Sub

J'ai bien le message "Le dossier existe !..."

Je te recommande d'exécuter la macro pas à pas (touche [F8]) et de vérifier à la lettre près si la variable Dossier existe bien dans ton disque dur.

Voilà, j'ai trouvé mon erreur

Ma variable Dossier ne pointer pas au bon endroit.

Tout marche.

Un grand merci Thau Thème

Rechercher des sujets similaires à "verifier dossier existe"