Sauvegarde Fichier avec date du Jour

  • Initiateur de la discussion Initiateur de la discussion williams
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

williams

Guest
Bonjour à tous,

Je voudrais:

- Ouvrir un classeur Excel " Toto "
- Exécuter une macro de mise à jour
- Fermer le classeur en l'enregistrant sous le nom " Toto du DateDuJour.XLS"

Le tout en automatique, bien evidement sinon se ne serait pas drôle !


Je vous remercie par avance pour vos solutions.
 
Bonsoir Williams, le Forum

A mettre dans un autre classeur que "Toto"... sinon çà va pas être drôle !!!

Sub OuvrirSauverToto()
Dim WBToto As String
Dim ThePath As String


ThePath = "C:\Mes Documents\Test XLD\"
WBToto = "Toto.xls"

Workbooks.Open ThePath & WBToto

MsgBox "La Macro de Mise à Jour se passe en ce moment"


On Error GoTo ErrorHandler2
With Workbooks("Toto.xls")
.SaveAs ThePath & "Toto Date " & Format(Now, "YYYY-MM-DD")
.Close
End With

Exit Sub
ErrorHandler2:
If Err = 1004 Then
MsgBox "Le Classeur Toto Date " & Format(Now, "YYYY-MM-DD") & " existe déjà et la sauvegarde à été annulée....", vbCritical
Else
MsgBox "Une erreur non gérée c'est produite " & Err.Number & " " & Err.Source & " " & Err.Description
End If

End Sub


IL est entendu que la Macro de mise à jour est à placer à la place du MsgBox "La Macro de Mise à Jour se passe en ce moment"...

Bonne Soirée
@+Thierry
 
Salut Wiliams, Salut le Forum

Voici le code d'une macro pour la sauvegarde avec date. Tu pourrais rajoute ces quelques lignes à la fin de ta macro de mise à jour.

Public Sub sauvDat()
Dim a As String
Dim nom As String
Dim nouvnom As String
a = Format(Date, "dd-mm-yy") 'defini le format de date ("/" étant interdit dans les noms de fichier)
nom = Application.ActiveWorkbook.Name
nouvnom = Mid(nom, 1, Len(nom) - 4) 'supprime le point et l'extension (.xls)
ActiveWorkbook.SaveAs nouvnom & " du " & a
End Sub

À plus,

Robert
 
Re salut Williams, Salut Thierry,

Vois-tu Williams, ce mec là, ce Thierry... Il me pourrit la vie depuis que je connais ce site. Mais ça c'est rien, le pire c'est que je l'aime ! (au sens vébéhaesque bien sûr).

Alors fais comme si tu n'avais jamais reçu mes commentaires et écoute ce grand sage génial.

À plus,

Robert
 
Bonsoir Robert, RE William, le Forum

Hi hi hi, merci Robert c'est gentil et çà me touche.

En fait ta macro est très bien aussi pour le coté gestion de la variable Nom du Fichier en récupérant son nom sans l'extention ".xls".

D'ailleurs en partant de ce principe on pourrait faire un truc comme çà qui peut rendre service à plus d'un :

Dans un classeur "Interface" ou un "Perso.xls" ou carrément une XLA on peut décider de traiter un fichier dans un répertoire en agissant comme ceci :

Sub OnOuvreOnTraiteOnSauveAveLaDateLOL()
Dim TheFile As Variant
Dim ThePath As String
Dim UserDir As String
Dim WB As Workbook

ThePath = "C:\Mes Documents\Test XLD"'<<<< à adapter of course

UserDir = CurDir
ChDir ThePath

TheFile = Application.GetOpenFilename("Excel Files(*.xls),*.xls")
If TheFile = False Then ChDir UserDir: Exit Sub
Set WB = Workbooks.Open(TheFile)

'ici faut faire un truc... une macro qui va écrire un truc dans l'entête...
With WB.Worksheets(1)
.PageSetup.RightHeader = "MAJ le " & Format(Now, "YYYY-MM-DD") & " par " & Application.UserName
End With

On Error GoTo ErrorHandler
With WB
.SaveAs Left(WB.Name, Len(WB.Name) - 4) & "-MAJ-du-" & Format(Now, "YYYY-MM-DD")
.Close
End With

ChDir UserDir
Exit Sub
ErrorHandler:
If Err = 1004 Then
MsgBox "Le Classeur Toto Date " & Format(Now, "YYYY-MM-DD") & " existe déjà et la sauvegarde à été annulée....", vbCritical
Else
MsgBox "Une erreur non gérée c'est produite " & Err.Number & " " & Err.Source & " " & Err.Description
End If
End Sub

On notera que je mets toujours les dates en formats YYYY MM DD bien plus facile à trier pour des noms de fichiers (surtout si il y en a des centaines dans le répertoires...

Bonne Nuit
@+Thierry
 
Merci à tous pour vos réponses, c'est exactement ce que je cherche, vous êtes comment dire......GENIAL !!

Mais.... il me reste Trois soucis:

1: Pouvoir ouvrir le fichier à heure fixe (je vais bien trouver une commande MS-DOS, dans un fichier .BAT, avec tache planifié Windows)

2: Comment passer au travers de la première BOX, " VOULEZ-VOUS ACTIVER LES MACROS.

3: Ma macro Aut😵uvrir ne fonctionne pas

Merci
 
Bonjour William, Robert, le Forum

1🙂 Tu utilises le Task Manager de Windows (Windows / Démarrer Menu => Programmes => Accessoires => Outils Système. Tu peux lancer ton Fichier XLS

2🙂 Tu mets le niveau de sécurité bas (Excel / Menu Outil => Macro => Sécurité Bas)

3🙂 Tu utilises une macro WorkBook_Open bien plus pratique voir le GIF mode d'emploi :




Bon Appétit
@+Thierry
 
Merci, c'est tout bon.

Je ne sais pas si c'est le bon endroit, mais ce Site et plus particulièrement ce FORUM est génial !!

Bien plus professionnel que certain site qui se le dise et dont je vais me taire le nom pour éviter la pub.


ENCORE MERCI A TOUS, POUR VOTRE AIDE.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
340
Réponses
134
Affichages
4 K
Retour