VBA création dossier avec différentes réponses pour différentes condition

  • Initiateur de la discussion Initiateur de la discussion Chtitefanny
  • Date de début Date de début

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 !

C

Chtitefanny

Guest
Bonjour,

Je me suis mise depuis peut à la macro pour Excel (celui que j'ai c'est le 2003)

Et j'aimerais créer une macro pour :
- La création d'un dossier, à un endroit donnée, où l'on demande le nom à y attribuer.
- si déjà existant : afficher un message l’indiquant
- si créé : afficher un message affirmant la création du dossier
- si action annulé : indiquer que rien est fait.

J’ai essayé quelque chose, mais en vain. Je suis un peut beaucoup perdu.

Fanny
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Bonjour,

tu trouve ton bonheur ici:
à copier dans un module et affecter un bouton à la macro "Créer"

Code:
Function RépertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RépertoireExiste = GetAttr(Chemin) And vbDirectory
    If RépertoireExiste = True Then
       MsgBox "Le répertoire existe déja"
        Exit Function
    Else
        MkDir (Chemin)
        MsgBox "le Répertoire " & Chemin & " a été créer avec succés"
    End If
End Function

Sub Creer()
Dim Chemin As String
Chemin = InputBox("Saisir l'adresse complete du répertoire a créer", "Chemin complet")
Call RépertoireExiste(Chemin)
End Sub
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Bonjour,

tu trouve ton bonheur ici:
à copier dans un module et affecter un bouton à la macro "Créer"

Code:
Function RépertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RépertoireExiste = GetAttr(Chemin) And vbDirectory
    If RépertoireExiste = True Then
       MsgBox "Le répertoire existe déja"
        Exit Function
    Else
        MkDir (Chemin)
        MsgBox "le Répertoire " & Chemin & " a été créer avec succés"
    End If
End Function

Sub Creer()
Dim Chemin As String
Chemin = InputBox("Saisir l'adresse complete du répertoire a créer", "Chemin complet")
Call RépertoireExiste(Chemin)
End Sub

un fichier joint :
 

Pièces jointes

Re : VBA création dossier avec différentes réponses pour différentes condition

Il y a un petit souci. J’aimerai ne pas avoir à retaper tout le chemin du dossier (il est créé à un endroit précis)
Ce n’est que le nom du dossier qui est demandé.
😕
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Re,
Nouveau code:

Code:
Sub Creer()
Dim test As Boolean
Dim Chemin, Commande As String

DD = "E:\Fichiers_Xls\"
Chemin = DD & InputBox("Saisir le nom du répertoire a créer", "Chemin")

On Error Resume Next
test = GetAttr(Chemin) And vbDirectory
    If test = True Then
       MsgBox "Le répertoire existe déja"
        Exit Sub
    Else
        Commande = Environ("comspec") & " /c mkdir " & Chemin
        Shell Commande, 0
        MsgBox "le Répertoire a été créer avec succés"
    End If
End Sub
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Bonjour Fanny, Kindfadhel

J'utilise souvent un code de ce type:

Code:
Private Declare Function SHCreateDirectoryEx Lib "Shell32.dll" Alias "SHCreateDirectoryExA" _
                                             (ByVal hwnd As Long, ByVal pszPath As String, ByVal lngsec As Long) As Long
 
Sub TestCréationDossier()
Dim Rep As String
    Rep = "C:\repA\repB\repC\RepV"
    nomdossier = Dir(Rep, vbDirectory)
    If nomdossier <> Empty Then MsgBox ("Le dossier existe"): Exit Sub
        SHCreateDirectoryEx 0&, Rep, 0&
    MsgBox ("Le dossier " & Rep & " a été crée.")
End Sub
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Bonjour,

une autre approche :
Code:
Option Explicit
Sub test()
Dim d As String, f As String
d = InputBox("Nom du dossier ?")
If d = "" Then MsgBox "action annulée...": Exit Sub
f = ThisWorkbook.Path & "\" & d
If Dir(f, vbDirectory) = "" Then
    MkDir f
Else
    MsgBox "le dossier : " & d & " existe déjà"
End If
End Sub

bon après midi
@+
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Merci à tout, j'ai trouvé quelque chose qui se raproche ;-)

Code :
Sub N_Dossier()
Dim dossier As String, f As String

dossier = InputBox("N° Dossier ", "Création d'un Dossier ")
If dossier = "" Then MsgBox "action annulée...": Exit Sub

f = ThisWorkbook.Path & "\" & dossier
If dir(f, vbDirectory) = "" Then
MkDir f
Else
MsgBox "le dossier : " & dossier & " existe déjà"

If dir("C:\Documents and Settings\Test\" & dossier, vbDirectory) = "" Then _
MkDir "C:\Documents and Settings\Test\" & dossier

End If
End Sub

J'ai juste pas le message indiquant que le dossier vient d'être créé, mais ça le fait totalement ;-)

Merci encore ;-)
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Re,

J'ai juste pas le message indiquant que le dossier vient d'être créé, mais ça le fait totalement ;-)

modifie comme suit :

Code:
Option Explicit
Sub test()
Dim d As String, f As String
d = InputBox("Nom du dossier ?")
If d = "" Then MsgBox "action annulée...": Exit Sub
f = ThisWorkbook.Path & "\" & d
If Dir(f, vbDirectory) = "" Then
    MkDir f
    MsgBox "le dossier : " & d & " a été créé..."
Else
    MsgBox "le dossier : " & d & " existe déjà"
End If
End Sub
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Bon, j'ai un autre souci ...

C'est pour créer des dossiers, dans un répertoire, sur un réso.
Le répertoire dans lequel sont créés les dossiers est non loin du fichier excel avec la macro.
Et j'aurai voulu savoir si cela pouvai être possible d'indiquer un chemin a partir du fichier et non de tout le réso ?

Merci d'avance 🙄
 
Re : VBA création dossier avec différentes réponses pour différentes condition

Le chemin que je mets pour indiquer le répertoire où créer le dossier est trop long. Les dossier sont créés bien avant.
Du coup, c'est pour savoir si on peut mettre un chemin du fichier excel au répertoire ? (et non depuis le début du réso)

Non, je ne sais pas si c'est plus claire. 😕
 
Dernière modification par un modérateur:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

C
Réponses
12
Affichages
3 K
ChristophePT
C
F
Réponses
2
Affichages
1 K
fikovic
F
Retour