Mixomatoze
XLDnaute Nouveau
Bonjour,
Je suis nouveau sur ce forum et viens demander de l'aide apres un démarrage laborieux sur VB...
Ma situation :
- J'ai un dossier dans lequel j'enregistre des fichiers de suivi de différentes affaires.
- J'ai trouvé une macro me permettant de générer automatiquement les noms de fichiers et d'effectuer la sauvegarde (cf ci dessous)
- Cette macro marche très bien, seul souci, elle n'efface pas le fichier précédent lorsque je fais juste une mise à jour (avec update du nom de fichier - changement de date -)
- J'aurais donc besoin d'ajouter une ligne à cette macro qui, après avoir effectué la sauvegarde, va chercher dans le dossier s'il existe un fichier antérieur dont seule la date est différente et le détruise si c'est le cas.
A priori, il me faudrait quelque chose du type :
1/ 'Dir', je recherche les fichiers non ouverts et dont le nom contient 'cellule A1' (partie non variable du nom de fichier)
2/ 'Kill' ce fichier
Mais je n'y suis pas arrivé et surtout, je ne suis pas sur que ce soit la meilleure solution...
Voilà, je ne sais pas si je suis tres clair, mais si quelqu un peut m aider, je serais tres heureux ! MERCI !!!
Voici la macro :
Sub Enregistrer()
Dim Nom As String
Nom = Range("h2") & ".xls"
If ThisWorkbook.Path = "" Then 'si le document n'a jamais été enregistré
SendKeys Nom
Application.Dialogs(xlDialogSaveAs).Show 'boîte de dialogue Enregistrer sous
Else
If Range("A1") = "" Then MsgBox "Entrez le nom du fichier en H2", 48: Range("H2").Select: Exit Sub
If MsgBox("Voulez-vous enregistrer le fichier sous le nom " & Nom & " ?", 4) = 6 Then
On Error Resume Next
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Nom 'Enregistre dans le même dossier
If Err Then MsgBox "Le nom proposé contient des caractères interdits", 48: Range("H2").Select
End If
End If
End Sub
Je suis nouveau sur ce forum et viens demander de l'aide apres un démarrage laborieux sur VB...
Ma situation :
- J'ai un dossier dans lequel j'enregistre des fichiers de suivi de différentes affaires.
- J'ai trouvé une macro me permettant de générer automatiquement les noms de fichiers et d'effectuer la sauvegarde (cf ci dessous)
- Cette macro marche très bien, seul souci, elle n'efface pas le fichier précédent lorsque je fais juste une mise à jour (avec update du nom de fichier - changement de date -)
- J'aurais donc besoin d'ajouter une ligne à cette macro qui, après avoir effectué la sauvegarde, va chercher dans le dossier s'il existe un fichier antérieur dont seule la date est différente et le détruise si c'est le cas.
A priori, il me faudrait quelque chose du type :
1/ 'Dir', je recherche les fichiers non ouverts et dont le nom contient 'cellule A1' (partie non variable du nom de fichier)
2/ 'Kill' ce fichier
Mais je n'y suis pas arrivé et surtout, je ne suis pas sur que ce soit la meilleure solution...
Voilà, je ne sais pas si je suis tres clair, mais si quelqu un peut m aider, je serais tres heureux ! MERCI !!!
Voici la macro :
Sub Enregistrer()
Dim Nom As String
Nom = Range("h2") & ".xls"
If ThisWorkbook.Path = "" Then 'si le document n'a jamais été enregistré
SendKeys Nom
Application.Dialogs(xlDialogSaveAs).Show 'boîte de dialogue Enregistrer sous
Else
If Range("A1") = "" Then MsgBox "Entrez le nom du fichier en H2", 48: Range("H2").Select: Exit Sub
If MsgBox("Voulez-vous enregistrer le fichier sous le nom " & Nom & " ?", 4) = 6 Then
On Error Resume Next
ThisWorkbook.SaveAs ThisWorkbook.Path & "\" & Nom 'Enregistre dans le même dossier
If Err Then MsgBox "Le nom proposé contient des caractères interdits", 48: Range("H2").Select
End If
End If
End Sub