Relancer la fonction si condition non remplie

Bonjour à tous

J'ai un petit bout de code qui me permet de sélectionner un dossier dans un chemin précis :

Private Sub CommandButton1_Click()

Dim Chemin As String, Dossier As String
Chemin = "\\SERVEUR\Dossier principal\test\"

    With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = Chemin
    .Show
        If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1)
        End With
        If Dossier = Chemin Then
        MsgBox "Vous devez sélectionner un répertoire d'enregistrement", vbExclamation, "Pas de répertoire sélectionné"
        Else: MsgBox "Répertoire sélectionné :" & vbLf & vbLf & Dossier
        End If
End Sub

Je souhaite que si l'utilisateur clique sur Ok sans avoir choisit un dossier on affiche le message et on ouvre de nouveau la fenêtre de sélection de dossier.

Pour le moment il semble que ma comparaison de mes variables Dossier et Chemin ne produisent rien.

Merci de m'éclairer sur l'erreur que j'ai faite

Cordialement.

J'édite mon message car j'ai trouvé un élément d'explication :

En fait ma variable Chemin se termine par un \ et si je ne sélectionne pas de dossier dans ce chemin ma variable Dossier contient "\\SERVEUR\Dossier principal\test" sans le \ donc elle est différente.

Par contre je ne sais pas comment résoudre ce problème

Je me fais une petite réponse car j'ai en partie solutionné mon problème :

En fait il fallait mettre :

If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1) & "\" à la place de
If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1)

Par contre si quelqu'un avait la bonté d'ame de m'expliquer comment faire pour que quand Dossier = Chemin, on ouvre de nouveau la fenêtre de sélection de dossiers ça serait bien aimable.

Merci

Je vais mettre le sujet en résolu car on m'a fournit la réponse sur un autre forum la voici au cas où ça pourrait servir :

Private Sub CommandButton1_Click()

Dim Chemin As String, Dossier As String
Chemin = "\\SERVEUR\Dossier principal\test\"
Dossier = Chemin
Do While Dossier = Chemin
    With Application.FileDialog(msoFileDialogFolderPicker)
        .InitialFileName = Chemin
        .Show
        If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1) & "\"
    End With
    If Dossier = Chemin Then
        MsgBox "Vous devez sélectionner un répertoire d'enregistrement", vbExclamation, _
            "Pas de répertoire sélectionné"
    End If
Loop
MsgBox "Répertoire sélectionné :" & vbLf & vbLf & Dossier
End Sub
Rechercher des sujets similaires à "relancer fonction condition remplie"