bonsoir le forum!
j'ai ce code qui fonctionne trés bien,fournis par Banzai64
"Sub enregistrer()
Dim Chemin$, NomDossier$, SousDossier$, NomFichier$
'Chemin = Trim(Range("h4"))
Chemin = ThisWorkbook.Path & "\"
NomDossier = Trim(Range("h6"))
SousDossier = Trim(Range("h8"))
NomFichier = Trim(Range("h10")) & ".xlsm"
If Dir(Chemin & NomDossier, 16) = "" Then MkDir Chemin & NomDossier
If Dir(Chemin & NomDossier & SousDossier, 16) = "" Then MkDir Chemin & NomDossier & SousDossier
For Each cel1 In [Dossiers]
For Each cel2 In [SousDossiers]
If Dir(Chemin & cel1 & cel2 & NomFichier) <> "" Then
Kill Chemin & cel1 & cel2 & NomFichier
GoTo CestFait
End If
Next cel2
Next cel1
CestFait:
'Pour enregister une copie seulement
ActiveWorkbook.SaveCopyAs Chemin & NomDossier & SousDossier & NomFichier
End Sub"
j'ai essayer de le modifier pour ajouter un niveau de sous dossier mais j'y arrive pas
"Sub enregistrer()
Dim Chemin$, NomDossier$, SousDossier$, SousDossier1$, NomFichier$
Chemin = ThisWorkbook.Path & "\"
NomDossier = Trim(Range("h7"))
SousDossier = Trim(Range("h9"))
sousDossier1 = Trim(Range("h11"))
NomFichier = Trim(Range("h13")) & ".xlsm"
If Dir(Chemin & NomDossier, 16) = "" Then MkDir Chemin & NomDossier & SousDossier & SousDossier1
For Each cel1 In [Dossiers]
For Each cel2 In [SousDossiers]
For Each cel3 In [SousDossiers1]
If Dir(Chemin & cel1 & cel2 & cel3 & NomFichier) <> "" Then
Kill Chemin & cel1 & cel2 & cel3 & NomFichier
GoTo CestFait
End If
Next cel3
Next cel2
Next cel1
CestFait:
'Pour enregister une copie seulement
ActiveWorkbook.SaveCopyAs Chemin & NomDossier & SousDossier & SousDossier1 & NomFichier
End Sub"
quelqu'un peut-il m'aider pour corriger ce code, merci d'avance