|
|
|
|
Configuration: Windows 2000 Excel 2002 SP3
|
bonjour
Cette macro devrait faire ce que tu veux et elle met la sauvegarde dans le même répertoire. Public Sub CommandButton1_Click() 'copie sauvegarde classeur
Dim nom As String
nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & ActiveWorkbook.Name
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\" & nom
rep = MsgBox("Votre base de données est sauvegardée sous le nom : " & nom, vbYes + vbInformation, "Copie sauvegarde classeur")
End Sub
Pour l'intégrer tu ouvres VBA (alt + F11) puis la fenêtre projet (ctrl + R) puis ta feuille concernée et tu colles la macro. Ensuite tu repasses sur ta feuille, tu fais un clic droit sur la barre menu dans un espace libre, tu choisis formulaire puis l'icône bouton Avec la petite croix tu te dessines un bouton où tu veux et tu mets le libellé voulu puis avec clic droit tu choisis affecter une macro et tu valides ta macro qui s'affiche. La fonction est alors utilisable. toujours zen |
|
Merci gbinforme
J'ai rajouté la date et l'heure dans la macro, redirigé la sauvegarde vers un répertoire "old" et ca marche nickel sauf pour l'heure: s'il est 11h06 par exemple, le nom de fichier sera 25-10-2007_116_[nomfichier]. Comment faire pour rajouter le '0' des dizaines dans ce cas précis? nom = Day(Date) & "-" & Month(Date) & "-" & Year(Date) & "_" & Hour(Time) & Minute(Time) & Second(Time) & "_" & ActiveWorkbook.Name Autre question sans abuser de ta patience: je souhaiterais inverser le nom du fichier pour obtenir quelque chose de la forme [nomfichier_sans_extension_xls]_[date]_[heure]_[.xls]. Et si je mets ActiveWorkbook.Name en premier, j'ai directement l'extension xls rattachée ce qui donne [nomfichier_avec_extension_xls]_date_heure D'avance merci |
|
bonjour
Comment faire pour rajouter le '0' des dizaines dans ce cas précis? pour cela il faut utiliser la commande format qui permet de mettre les éléments avec un nombre fixe de caractères en sachant qu'il faut la paramétrer en anglais (Day,Year,etc). : je souhaiterais inverser le nom du fichier pour obtenir quelque chose de la forme [nomfichier_sans_extension_xls]_[date]_[heure]_[.xls] pour cela on peut utiliser la commande left qui sélectionnes la gauche du nom, et comme il faut donner la longueur, on prend la longueur (len) du nom - la longueur de l'extension. Cela devrait donner : nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & Format(Date, "_dd-mm-yyyy") & Format(Time, "_hhmmss") & ".xls" J'ai forcé un peu l'utilisation de format en rajoutant les "_" que tu voulais pour te faire voir les possibilités mais tu peux faire comme tu avais fait qui est un peu plus long mais plus clair. Autre question sans abuser de ta patience Quand tu veux car c'est bien le but du forum d'échanger nos différentes connaissances et tu vas peut-être répondre demain à une de mes questions. toujours zen
|
Bonjour,
encore merci, ca fonctionne parfaitement.
Public Sub CommandButton1_Click() 'Worksheet Backup Copy
Dim nom As String
nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmmss") & ".xls"
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\old\" & nom
rep = MsgBox("Worksheet saved on 'old' sub-directory under name: " & nom, vbYes + vbInformation, "Worksheet Backup Copy")
End Sub |
Je ne suis pas un as de excel aussi ai je telecharger une macro qui per de convrtir le chiffres en lettre sous excel 2003
Mais entre temps notre informaticien a bascule sur excel 2007 comment retrouver le macros complementaires et reactiver cette macro pour pouvoir continuer a l'utileser |
j'ai creer un formulaire pour entrer des données mais j'ai un probleme de sauvegarde de ces donnees, j'ai travailler avec excel2003 |
Résultats pour [Excel VBA] Macro enregistrement automatique
Résultats pour [Excel VBA] Macro enregistrement automatique
Résultats pour [Excel VBA] Macro enregistrement automatique