Si ton problème n’est toujours pas résolu, alors je te propose déjà un morceau de code pour créer ce fichier EXCEL.
Il s’appellera Recapxxx.xls avec xxx étant l’année de la facture à enregistrer dans le classeur de suivi.
Par exemple ça donnera : Recap2007.xls pour cette année.
If Dir(Chemin2 & Format(Range("Date"), "yyyy") & "\Recap" & Format(Range("Date"), "yyyy") & ".xls", 0) = "" Then
If Dir(Chemin1 & Format(Range("Date"), "yyyy") & "\Recap" & Format(Range("Date"), "yyyy") & ".xls", 0) = "" Then
Workbooks.Add
Sheets.Add before:=Sheets(1)
Sheets(1).Name = Year(Now)
For i = 2 To Sheets.Count
Sheets(i).Visible = False
Next i
For i = 1 To 12
Sheets.Add after:=Sheets(i)
Sheets(i + 1).Name = Right("0" & i, 2)
Next i
ActiveWorkbook.SaveAs Chemin1 & Format(Range("Date"), "yyyy") & "\Recap" & Format(Range("Date"), "yyyy") & ".xls"
ActiveWorkbook.SaveAs Chemin2 & Format(Range("Date"), "yyyy") & "\Recap" & Format(Range("Date"), "yyyy") & ".xls"
Else
Workbooks.Open Filename:=Chemin1 & Format(Range("Date"), "yyyy") & "\Recap" & Format(Range("Date"), "yyyy") & ".xls"
End If
Else
Workbooks.Open Filename:=Chemin2 & Format(Range("Date"), "yyyy") & "\Recap" & Format(Range("Date"), "yyyy") & ".xls"
End If
Ce code est à insérer tout à la fin de la macro nommée “Enregistrement”.
Fonctionnement :
Si le fichier de récap de l’année désirée existe dans le dossier de la-dite année, alors il est ouvert.
En revanche, s’il n’existe pas à cet endroit, alors il est cherché dans le dossier de bacukp de ladite année.
S’il existe à cet endroit, alors il est ouvert et s’il n’existe pas, alors un nouveau classeur est créé, les onglets sont créés et nommés, puis le fichier est sauvegardé aussitôt sous le nom Recapxxx.xls dans les deux dossiers (normal et backup).
Il faudra créer un bout de code (c’est en fait le gros morceau, mais ça devrait se faire ;)) pour écrire les données voulues aux endroits voulus dans le fichier.
Il faudra ensuite sauvegarder le fichier dans les deux dossiers (normal et backup).
Dis-moi si ça te convient ou non comme début et si tu veux une suite ou si ton problème est déjà résolu.
Edité le 15/07/2007 à 04:41