création automatique de dossier

  • Initiateur de la discussion Initiateur de la discussion cookie57
  • 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

cookie57

Guest
Bonjour le forum,

je ne sais pas si cette question a déjà été traitée sur ce forum en tout ca je ne l'ai pas trouvé ; est il possibe de créer une macro qui enregistre un fichier dans un dossier non crée et donc comment faire pour créer un dossier :

Avec ce code il me dit que le dossier que je n'ai pas crée (Dossier Excel) n'existe pas; il faudrait un code pour le créer automatiquement. Comment faire ??? merci d'avance

ActiveWorkbook.SaveAs Filename:= _
"C:\Dossier Excel & "patati" & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close
 
Re : création automatique de dossier

Bonjour

edit: en relisant , je crois que tu parles d'un fichier xls
(ce qui différent d'un dossier )



Il faut utiliser la commande MkDir

MkDir, instruction, exemple
Cet exemple utilise l'instruction MkDir pour créer un répertoire ou un dossier. Si le lecteur n'est pas indiqué, le nouveau répertoire ou dossier est créé sur le lecteur courant.

MkDir "MONREP" ' Crée un nouveau répertoire ou dossier.

Ensuite il faut déterminer si le dossier existe ou pas

voir dans ce cas avec Dir
(il y a un exmple dans l'aide VBA d'Excel)
 
Dernière édition:
Re : création automatique de dossier

Re

Donc reprenons

source: xld forum
Fonction qui vérifie l'existence d'un fichier
Code:
Function FileExiste(Filename as String) as Boolean
FileExiste = Dir(FileName) <> ""
End Function
Ton code actuel:
ActiveWorkbook.SaveAs Filename:= _
"C:\Dossier Excel & "patati" & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.Close

Modifications 1:
( non testées encore) edit: test ok
Cas de figure: sauvegarder le classeur dans le dossier Dossier Excel
Ici suppose que le dossier Dossier Excel existe
Code:
Dim patati as string
Dim Chemin as String
Chemin="C:\Dossier Excel\"
patati = "NomDuClasseur" & ".xls"
If FileExiste(Chemin & patati) Then
MsgBox "Ce classeur existe déjà" 
'* peut être remplacer par le code en fin de message
Else
ActiveWorkbook.SaveAs (Chemin & patati), xlNormal, , , False, False
End If
End sub

Modifications 2: sauvegarder le classeur sous le nom Dossier Excel_patati.xls
Code:
'ici le fichier sera enregistré dans le répertoire du classeur actif
Dim patati as String
patati = "NomDuClasseur" & ".xls"
If FileExiste(patati) Then
MsgBox "Ce classeur existe déjà" '* peut être remplacer par le code ci-dessous
Else
ActiveWorkbook.SaveAs (patati), xlNormal, , , False, False
End If
End sub


* Code pour améliorer ta MsgBox
Code:
MsgBox "Le classeur " & patati & " existe déjà." & _
Chr(13) & "Veuillez indiquer un autre nom , svp.", vbCritical, "Erreur"
 
Dernière édition:
- 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

Retour