Il faut que je crée un historique :
voila comment je voit le fonctionnement:
1- appuis sur le type de commandes (Email,Fax,Téléphone)
2- le programme va voir si dans le dossier "Historique" le dossier année "20XX" éxiste
3- Si il n'éxiste pas il le crée est dans se dossier il crée un classeur excel "Fs" et il y copie la fiche de commandes.
4- Sinon il va dans se dossier et regarde si le classeur "Fs" éxiste
5- Si il éxiste pas il le crée et il y copie la fiche de commandes.
6- Si il éxiste il y copie la fiche de commandes.
Voila le code que j'ai pour l'instant:
Dim Chemin As String
Dim CheminA As String
Dim CheminB As String
Chemin = "C:\Historique"
Année = "2013"
Re-Bonjour ucfoutu,
Je vient d'essayer d'utiliser ton codemais se na pas fait se que j'espérer .
voila comment je l'ai utiliser je suis sur que le n'on fonctionnement vient de moi mais je ne sais pas pourquoi :
'1) on crée le dossier de toutes manières (et s'il existe déjà, on gère)
On Error Resume Next
MkDir "C:\Historique" & Année
On Error GoTo 0
'2) on regarde s'il est vide
If Dir("C:\Historique" & Année) = "" Then
MsgBox "Répertoire vide"
Application.ScreenUpdating = False
Sheets("Archive").Copy
With ActiveWorkbook
.SaveAs Filename:=CheminA & Fs
.Sheets("Archive").Name = "Archive" & "_" & Date_C
.Close
End With
End If
'ou
'3) on regarde s'il contient un dichier particulier
If Dir("C:\Historique" & Année & "" & Fs & ".xls") <> "" Then
MsgBox "Ajout feuille au classeur"
Sheets("Archive").Copy
ActiveSheet.Name = "Archive" & Date_C
Sheets("Archive" & Date_C).Move.Workbooks (Fs)
End If
If Dir("C:\Historique" & Année & "" & Fs & ".xls") = "" Then MsgBox "création du classeur"
Sheets("Archive").Copy
With ActiveWorkbook
.SaveAs Filename:=CheminA & Fs
.Sheets("Archive").Name = "Archive" & "_" & Date_C
.Close
End With
End If
Dans le répertoire viser il n'y a rien qui apparait et si je le supprime et recommence il crée bien le répertoire mais il n'y a toujour aucun classeur de visible.
' -Sauvegarde la commande dans le dossier historique '
'1) on crée le dossier dans toutes les cas (et s'il existe déjà, on gère) :
On Error Resume Next
MkDir "C:\Historique" & Année
On Error GoTo 0
'2) on regarde si le répertoire est vide :
If Dir("C:\Historique" & Année) = "" Then
' Si oui on crée le classeur fournisseur
MsgBox "Répertoire vide"
Sheets("Archive").Copy
With ActiveWorkbook
.SaveAs Filename:="C:\Historique" & Année & Fs & ".xls"
.Sheets("Archive").Name = "Archive" & "_" & Date_C
.Close
End With
'ou
'3) Sinon on regarde s'il contient un fichier particulier
ElseIf Dir("C:\Historique" & Année) <> "" Then
If Dir("C:\Historique" & Année & "" & Fs & ".xls") = "" Then
' Si le classeur n'éxiste pas on le créé
MsgBox "création du classeur"
Sheets("Archive").Copy
With ActiveWorkbook
.SaveAs Filename:="C:\Historique" & Année & Fs
.Sheets("Archive").Name = "Archive" & "_" & Date_C
.Close
End With
End If
If Dir("C:\Historique" & Année & "" & Fs & ".xls") <> "" Then
' Sinon on y rajoute une feuille
MsgBox "Ajout feuille au classeur"
Sheets("Archive").Copy
ActiveSheet.Name = "Archive" & Date_C
Sheets("Archive" & Date_C).Move.Workbooks (Fs)
End If
End If
End If
Voila je n'ai pas fais beaucoup de modification mais il y a des résultat.
Maintenant , lorsque je fais un archivage
il crée bien un classeur si on change de fournisseur la aussi il crée le classeur
Mais lorsque l'on veut faire un archivage cher un fournisseur deja utiliser il demandes si on veut remplacer le fichier deja existant par le nouveau est si on refuse il nous dit qu'il y a une erreur dans le save as.