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