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
17471
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
29 juin 2022
599
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
17471
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
29 juin 2022
599
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
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
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
14941
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 juin 2022
161
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
35765
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juin 2022
358
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