Créer un dossier
Bonjour à tous!
J'aimerai une macro qui me créer un dossier par rapport à une cellule.
Apres quelques recherches j'ai vu qu'il existe cette fonction :
MkDir("C:\Test\MonDossier1\")
Pouvez-vous m'aider? (j'ai du mal avec la création de variables etc..)
J'aimerai qu'elle me créer mon dossier ici : "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\"
Sous ce nom: OTD_T7
T7 étant ma cellule qui contient mon texte.
Merci d'avance!!
Solution trouvé!
For Each c In Range("T7")
MkDir "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & "OTD_" & c.Value
Next
Il prend la valeur en T7 et créer un dossier sous ce nom : OTD_T7
Bonjour,
Tu peux tester l'instruction suivante
MkDir "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & "OTD_" & Range("T7").Value
Edit:
Je constate que tu avais trouvé tout seul ... la solution ...
Cela dit pour que l'instruction utilise T7 ... il faut que T7 ... soit saisi dans la cellule T7 ...
ET ... tu n'as pas du tout besoin de la boucle ...
Merci James007 de ta réponse.
Sa fonctionne aussi avec ton code.
Cependant je viens de me rendre compte que j'ai un autre facteur qui rentre en compte.
J'ai une très grosse macro qui fait appel plusieurs fois à la même macro "enregistrer".
J'ai donc introduit mon code dans cette macro.
Option Explicit
Sub enregistrer()
For Each c In Range("M7")
MkDir "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & "OTD_" & c.Value
Next
Dim nompdf As String
On Error GoTo erreur
nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & Range("F13").Value & "_" & Range("F14").Value & "_" & Format([F15], "mmmm_yyyy")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Exit Sub
erreur:
MsgBox "Erreur : " & Err.Number & vbLf & Err.Description
End Sub
Cependant est-il possible que pour cette ligne il l'enregistrer sur le dossier que j'ai créé précédemment ? (il va créer un dossier différent à chaque fois que la cellule "T7" va changer de texte).
nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & Range("F13").Value & "_" & Range("F14").Value & "_" & Format([F15], "mmmm_yyyy")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Edit: il serait judicieux de séparer les 2 macros je pense non?, effectuer une seule fois cette macro:
For Each c In Range("M7")
MkDir "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & "OTD_" & c.Value
Next
Puis que la macro "enregistrer" enregistre bien dans ce nouveau dossier.
Re,
Désolé ... mais je ne comprends pas ... ce que tu cherches à faire ...
Si tu as besoin d'une boucle ... il faut indiquer la plage dans laquelle tu saisis les différents noms des fichiers ...
Re,
Utilisons ton code sa sera mieux !
Option Explicit
Sub enregistrer()
MkDir "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & "OTD_" & Range("T7").Value
Dim nompdf As String
On Error GoTo erreur
nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & Range("F13").Value & "_" & Range("F14").Value & "_" & Format([F15], "mmmm_yyyy")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Exit Sub
erreur:
MsgBox "Erreur : " & Err.Number & vbLf & Err.Description
End Sub
On est d'accord que ici il m'a créé un dossier avec le nom que je veux, cependant je voudrais que les fichiers que j'enregistre automatiquement avec cette macro aille dedans.
Sauf que tout les mois ben je vais créer automatiquement un nouveau dossier et j'aimerai que les fichiers que j'enregistrerai aille dedans.
Que ici en faite il y est une variable de dossier (as-tu compris ce que je voulais faire? désolé je ne suis pas toujours clair!)
On Error GoTo erreur
nompdf = "Y:\ASSISTANT QUALITE\Calcul des Indicateurs\OTD clients mensuel\" & Range("F13").Value & "_" & Range("F14").Value & "_" & Format([F15], "mmmm_yyyy")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nompdf & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
Re,
J'ai vraiment peur de devoir me répéter ...
Si tu as besoin d'une boucle ... il faut indiquer la plage .... dans laquelle tu saisis les différents noms des fichiers ...