Bonjour à tous et à toutes,
Grace à tous les forums du site j'ai toujours pu me débrouiller mais là je coince.
J’essaie de réaliser un macro qui me permettra à l’aide d’un bouton d’effectuer une copie de mon fichier actuel. Jusque là aucun problème, mon macro me permettait très bien d’enregistrer ma copie dans le même dossier que mon fichier d’origine.
Maintenant je souhaiterais enregistrer mes copies dans un dossier ‘enregistrement’ présent dans le dossier où se trouve le fichier d’origine. Et pour corset la chose (à mon niveau) je voudrais que le dossier ‘enregistrement’ contienne des sous-dossiers ‘années’ (2011, 2012, etc.). En gros si on a le dossier Y qui contient mon fichier originale je voudrais : Y\Enregistrement\2011\Copie.xls.
De plus je veux que le macro créer tout-seul le dossier ‘enregistrement’ et les sous-dossiers ‘année’.
Pour cela j’ai essayé de me débrouiller et je pense que je ne suis pas loin du compte mais un problème persiste à la ligne surligné, l’erreur ‘1004’.
Public Sub CommandButton1_Click() 'Enregistrement
Dim Dossier, SousDossier
Dossier = ActiveWorkbook.Path & Enregistrement
SousDossier = Dossier & Year(Date)
Call RépertoireExiste("Dossier")
Call RépertoireExiste("SousDossier")
Dim Nom As String
Nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveWorkbook.Name
ActiveWorkbook.SaveCopyAs SousDossier & "\" & Nom
rep = MsgBox("Votre base de données est sauvegardée sous le nom : " & Nom, vbYes + vbInformation, "Copie sauvegarde classeur")
End Sub
Function RépertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RépertoireExiste = GetAttr(Chemin) And vbDirectory
If RépertoireExiste = True Then
Exit Function
Else
MkDir (Chemin)
End If
End Function
Si vous pourriez m’éclairer sur mes erreurs je vous en remercie d’avance.
Kahyasse
Grace à tous les forums du site j'ai toujours pu me débrouiller mais là je coince.
J’essaie de réaliser un macro qui me permettra à l’aide d’un bouton d’effectuer une copie de mon fichier actuel. Jusque là aucun problème, mon macro me permettait très bien d’enregistrer ma copie dans le même dossier que mon fichier d’origine.
Maintenant je souhaiterais enregistrer mes copies dans un dossier ‘enregistrement’ présent dans le dossier où se trouve le fichier d’origine. Et pour corset la chose (à mon niveau) je voudrais que le dossier ‘enregistrement’ contienne des sous-dossiers ‘années’ (2011, 2012, etc.). En gros si on a le dossier Y qui contient mon fichier originale je voudrais : Y\Enregistrement\2011\Copie.xls.
De plus je veux que le macro créer tout-seul le dossier ‘enregistrement’ et les sous-dossiers ‘année’.
Pour cela j’ai essayé de me débrouiller et je pense que je ne suis pas loin du compte mais un problème persiste à la ligne surligné, l’erreur ‘1004’.
Public Sub CommandButton1_Click() 'Enregistrement
Dim Dossier, SousDossier
Dossier = ActiveWorkbook.Path & Enregistrement
SousDossier = Dossier & Year(Date)
Call RépertoireExiste("Dossier")
Call RépertoireExiste("SousDossier")
Dim Nom As String
Nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveWorkbook.Name
ActiveWorkbook.SaveCopyAs SousDossier & "\" & Nom
rep = MsgBox("Votre base de données est sauvegardée sous le nom : " & Nom, vbYes + vbInformation, "Copie sauvegarde classeur")
End Sub
Function RépertoireExiste(Chemin As String) As Boolean
On Error Resume Next
RépertoireExiste = GetAttr(Chemin) And vbDirectory
If RépertoireExiste = True Then
Exit Function
Else
MkDir (Chemin)
End If
End Function
Si vous pourriez m’éclairer sur mes erreurs je vous en remercie d’avance.
Kahyasse