Enregistrer sous

Résolu
Silver - Modifié par Whismeril le 6/07/2014 à 22:24
 Silver - 8 juil. 2014 à 22:54
Bonjour,

Le problème sur ma macro :
Si le dossier existe déjà il plante.
Qui sait d'où peux venir mon erreur ?

Merci par avance


Sub Save() 

Dim LeChemin As String, LeNomDuFichier As String, Nomdudossier As String 

    Nomdudossier = Format([C6], "ddmmyy") 

    LeChemin = "Y:\Divers\In progress\testnico\" 
    
    LeNomDuFichier = [A373] & "_" & Format([C6], "ddmmyy") & "_CT" & ".xls" 
        
        If Dir(LeChemin & Nomdudossier) = "" Then MkDir (LeChemin & Nomdudossier) 
            

ThisWorkbook.SaveAs LeChemin & Nomdudossier & "\" & LeNomDuFichier 


MsgBox "You can find in file" & LeChemin, vbInformation 

Application.Quit 


End Sub

4 réponses

Whismeril Messages postés 18938 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 février 2024 649
6 juil. 2014 à 22:24
Bonjour, message modifié par l'ajout des balises de code.
Voir ici comment utiliser la coloration syntaxique.
0
Whismeril Messages postés 18938 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 février 2024 649
6 juil. 2014 à 22:26
Ce serait bien de marque à quelle ligne ça plante et le texte de l'erreur
0
Bonjour,

ca plante au moment de la création du dossier c'est a dire au MkDir (Erreur d'accès Chemin/Fichier)
Je pense qu'il bug car il veux créer un dossier qui est déjà présent...
Mais je voulais lui dire de le créer seulement si il est inexistant...

As tu une idée de mon erreur de syntaxe ?

Merci beaucoup pour ton aide
0
NHenry Messages postés 15098 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 février 2024 158
6 juil. 2014 à 23:10
Regardes les paramètres de la fonction Dir, il y a une valeur pour dure de chercher les dossier.
0
J'ai rajouté la ligne :

ChDir (LeChemin & Nomdudossier)

Juste avant la ligne :

If Dir (LeChemin & Nomdudossier) = "" Then MkDir (LeChemin & Nomdudossier)

Mais toujours le même message d'erreur...
0
NHenry Messages postés 15098 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 février 2024 158
7 juil. 2014 à 18:28
Dir(...,vbDirectory) ?
0
J'ai essayé ça mais toujours le même problème...
J'ai fait plein d'essai mais la je bloque...
Peux tu m'aider stp ?


Sub SaveAndClasse() 

Dim LeChemin As String, LeNomDuFichier As String, Nomdudossier As String

Nomdudossier = Format([C6], "ddmmyy")

LeChemin = "Y:\Divers\In progress\testnico\" & Nomdudossier

LeNomDuFichier = [A373] & "_" & Format([C6], "ddmmyy") & "_CT" & ".xls"


If Dir(LeChemin & "\" & LeNomDuFichier, vbDirectory) = "" Then MkDir LeChemin


ThisWorkbook.SaveAs LeChemin & "\" & LeNomDuFichier


MsgBox "You can find in file" & LeChemin, vbInformation

Application.Quit


End Sub
0
jordane45 Messages postés 38034 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 février 2024 344
8 juil. 2014 à 01:56
Tu recherches un dossier ... et tu mets le chemin vers un fichier..
If Dir(LeChemin & "\", vbDirectory) = "" Then MkDir LeChemin


PS: Attention... mkdir ne te permet de créer les dossiers que un par un...
Si tu as un chemin du genre : c:\tmp\toto\tata\ ... et que ni tmp... ni toto.. ni tata n'existe... alors...il ne pourra pas les créer.
Il faudra créer : tmp ... puis créer toto.. puis créer tata.
0
Ca fonctionne ! Super !
Merci beaucoup pour votre aide
0
Rejoignez-nous