Vérifier si le dossier existe avant de le créer

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

matthieu2701

XLDnaute Occasionnel
Bonjour,

Je souhaite créer le dossier d'un client. A l'intérieur je mettrais différents fichiers word, pdf ...

J'ai réussi à créer le dossier avec une msgbox mais je n'arrive pas à arrêter la macro si le le dossier est déjà créé et à faire afficher une msgbox du style "Le dossier est déjà créé"

La macro s'appelle "Dossier" dans mon fichier.

Ne faites pas attention au chemin d'enregistrement du fichier. Il vous paraitra bizarre mais c'est normal car je vais mes tes sur Mac.

Merci par avance pour votre aide.
 
Dernière édition:
Re : Vérifier si le dossier existe avant de le créer

Bonjour Matthieu,

essaie avec ceci:
Code:
Sub Dossier()

With Sheets("Echéancier")
    Nom = .Range("B2")
    Ref = .Range("B1")
End With

Chemin = "MaTT'S HD:Users:Matthieu:" & Feuil3.Cells(2, 2).Text & " " & Feuil3.Cells(1, 2).Text

If Nom = "" Or Ref = "" Then
MsgBox "Veuillez compléter les champs Nom/Prénom et IGOR pour pouvoir générer le dossier du client", vbOKOnly + vbCritical, "Attention"
Exit Sub
End If

On Error GoTo fin

MkDir "MaTT'S HD:Users:Matthieu:" & Feuil3.Cells(2, 2).Text & " " & Feuil3.Cells(1, 2).Text


MsgBox "Le dossier numérique " & Nom & " " & Ref & " a été créé."
Exit Sub

fin:
MsgBox "Le dossier numérique " & Nom & " " & Ref & " a déjà été créé,impossible de le créer une seconde fois"
End Sub

à+
Philippe
 
Re : Vérifier si le dossier existe avant de le créer

Merci philippe. Ca fait 2 heures que je me bats. J'essayé avec If.

On Error GoTo Fin signifie quoi ?

C'est possible que tu fasse pareil pour la macro "exportword" ?

Est-il possible que la msgbox se ferme seule au bout de x secondes ?
 
Dernière édition:
Re : Vérifier si le dossier existe avant de le créer

Re,

si on veut créer un fichier ou dossier qui existe déjà, ça provoque une erreur
On Error GoTo Fin signifie quoi ?
cela signifie qu'en cas d'erreur (lorsqu'on veut créer qq chose qui existe déjà) la procédure s'aiguillera automatiquement vers fin: (voir la 4ème ligne en partant du bas dans l'exemple donné


Est-il possible que la msgbox se ferme seule au bout de x secondes ?
je ne pense pas que cela soit possible
par contre il est possible de faire apparaître un message dans StatusBox pendant une durée déterminée (remplace les dernières lignes par ceci:
Code:
fin:
Application.StatusBar = "IMPOSSIBLE DE CREER LE FICHIER, IL EXISTE DEJA"
Application.Wait (Now + TimeValue("00:00:05"))
Application.StatusBar = ""
End Sub

à+
Philippe
 
Dernière édition:
Re : Vérifier si le dossier existe avant de le créer

Code:
fin:
Application.StatusBar = "IMPOSSIBLE DE CREER LE FICHIER, IL EXISTE DEJA"
Application.Wait (Now + TimeValue("00:00:05"))
Application.StatusBar = ""
End Sub

Philippe

Comment faire si je veux faire l'inverse. C'est à dire, mettre un message dans le statutbar si le dossier est créé et faire apparaitre la msgbox si le dossier est déjà créé ? ==> J'ai réussi

C'est possible que tu fasse pareil pour la macro "exportword" ?
 
Dernière édition:
Re : Vérifier si le dossier existe avant de le créer

Bonjour Mathieu, Philippe🙂

Est-il possible que la msgbox se ferme seule au bout de x secondes ?

ci-dessous la "msgbox" reste affichée 3 secondes avant de se fermer toute seule...

Code:
CreateObject("WScript.Shell").Popup "Message....", 3, "Titre....", vbInformation

bonne journée
@+
 
Re : Vérifier si le dossier existe avant de le créer

Bonjour Mathieu, Philippe🙂



ci-dessous la "msgbox" reste affichée 3 secondes avant de se fermer toute seule...

Code:
CreateObject("WScript.Shell").Popup "Message....", 3, "Titre....", vbInformation

bonne journée
@+

J'ai message d'erreur en éxécutant la macro. "Un composant ActiveX ne peut pas créer d'objet."

Comment résoudre ce soucis ?

Merci
 
Re : Vérifier si le dossier existe avant de le créer

Re,

tu peux modifier la propriété "caption" du label sur l'usf (ce dans l'éditeur vba), ou bien rajouter ceci dans le module de ce même usf, la modification s'effectuera via le code, à l'initialisation :
Code:
Private Sub UserForm_Initialize()
Label1.Caption = "Mon Message..."
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour