Menu

[macro VBA] enregistrer classeur nom cellule [Résolu/Fermé]

Messages postés
4
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
28 juillet 2008
- - Dernière réponse :  FAB - 9 juil. 2016 à 15:29
Bonjour,

Je cherche comment coder pour enregister mon classeur avec un nom qui serait la valeur d'une cellule (nombre ou texte) ou même plutôt le nom d'une feuille dans ce classeur.

Je pensais définir une variable mais ceci ne marche pas dans le code:

ActiveWorkbook.SaveAs Filename:= _
"nom.xls"

Si quelqu'un a une idée pour moi..
Merci et bonne soirée!!
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555
20
Merci
Bonjour,

ActiveWorkbook.SaveAs Filename:=[A1].Value
marche très bien avec test.xls en A1.
Si tu as un nombre ou un texte sans .xls dans A1 il faut le rajouter :
ActiveWorkbook.SaveAs Filename:=[A1].Value & ".xls"
Tu peux compléter le nom avec le chemin du répertoire...

eric

Dire « Merci » 20

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 54682 internautes nous ont dit merci ce mois-ci

eriiic
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555 -
Ah, ok, j'au rais appris qcq chose... :-)
De rien, et bonne continuation :-)
u se prononce ou ?
oui, à prononcer maourourou ;)
KMPrimpin
Messages postés
25
Date d'inscription
lundi 2 février 2015
Statut
Membre
Dernière intervention
20 mars 2015
-
bonjour eric,
voila, j'ai créé un fichier Factures et enregistré dans le dossier Modèle Excel. le facturier fera une facture par client en appelant un modèle. cependant il ne devra pas renommer le fichier Factures1 par exemple qui s'ouvre, parce que je veux un code qui renomme automatiquement le fichier en considérant les valeurs dans Feuil1!L1;J1;K1. et stp où écrire cette macro, car j'ai testé en vain tes soluces ici qui ont satisfait tout le monde.
merci eric
eriiic
Messages postés
22778
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
19 juillet 2019
5555 -
Bonjour,

Clic-droit dans le projet (à gauche) et 'Insertion / Module'
Mettre le code dans ce Module1. Ensuite tu peux mettre un bouton lié à cette macro sur ta feuille.

eric
KMPrimpin
Messages postés
25
Date d'inscription
lundi 2 février 2015
Statut
Membre
Dernière intervention
20 mars 2015
-
merci eric, j'ai repéré Module.
au final, quel est le code que j'écris:
-With Sheets("Feuil1")
nomFich=[L1] & [J1] & [K1]
End With

ou
-ActiveWorkbook.SaveAs Filename:=[L1] & [J1] & [K1] & ".xltx"
merci du temps que tu m'accordes, merci bcp!!!
Messages postés
15893
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
28 juin 2019
2765
8
Merci
salut Bastien

Option Explicit
Sub enregistrer_classeur()
Dim chemin As String, fichier As String
chemin = ThisWorkbook.Path
fichier = chemin & "\" & Range("B2") & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier
End Sub


enregistre dans le répertoire du fichier source

Michel
Super la formule. Merci Michel
2
Merci
c'est bon j'avais un espace en trop !!^^
les mystères d'excel !!!!!!!
Messages postés
4
Date d'inscription
vendredi 11 juillet 2008
Statut
Membre
Dernière intervention
28 juillet 2008
1
1
Merci
Merci à tous pour ces réponses si rapides,
En plus j'ai le choix!!

A+
Messages postés
4
Date d'inscription
mardi 23 novembre 2010
Statut
Membre
Dernière intervention
6 décembre 2010
1
1
Merci
Bonjour à tous,
La même demande sous Open Calc quelqu'un connaitrait-il car vb n'est pas pour Open.
Je vous remercie par avance
1
Merci
Merci pour cette macro :
Sub enregistrer_classeur()
Dim chemin As String, fichier As String
chemin = ThisWorkbook.Path
fichier = chemin & "\" & Range("B2") & ".xls"
ActiveWorkbook.SaveAs Filename:=fichier
End Sub
Qui fonctionne parfaitement pour changer le nom du fichier sauvegardé !
Bonsoir à tous,

Avec ce code cela marche bien, seul PB ça plante avant de sauvegarder, où serait le PB ?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

A = Range("S2").Value
B = Range("B3").Value
C = Range("B4").Value
ChDir ActiveWorkbook.Path
Repertoirefinalperso = Application.ActiveWorkbook.Path
ActiveWorkbook.SaveAs Filename:=Repertoirefinalperso & "\" & "Recapaie " & A & " " & B & " " & C & ".xls"

End Sub

Merci,
bonjour,

Alors voilà une nouvelle question sur le sujet.

J'ai réussis à faire en sortes que cela ne plante plus, mais ...

Pourquoi en changeant :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)


par :
Private Sub Workbook_BeforeClose(Cancel As Boolean)


Et bien cela ne plante plus ?

Cela aurait été plus pratique d'activer la macro sur enregistrement et non pas sur fermer, car à chaque fermeture cela me créera un fichier "Recapaie 2012 .xls" ....

Cordialement,
0
Merci
ca devrait marcher comme tu veux

nomfic = "C:\Documents and Settings\Agoplus\Bureau\" & Range("A1").Value & Sheets(2).Name & ".xls"

ActiveWorkbook.SaveAs Filename:=nomfic
Messages postés
4
Date d'inscription
mardi 23 novembre 2010
Statut
Membre
Dernière intervention
6 décembre 2010
1
0
Merci
Bonjour,
Je te remercie vivement alogplus et te souhaite une excellente journée.
Messages postés
4
Date d'inscription
mardi 23 novembre 2010
Statut
Membre
Dernière intervention
6 décembre 2010
1
0
Merci
Merci beaucoup algoplus
Au plaisir
0
Merci
bonjour à tous

j'ai ce code pour enregistrer un fichier en fonction de la valeur d'une cellule. Je me suis inspiré des infos au dessus mais j'ai un beuf !!???

ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\k004418\Bureau\DVI" \ Range("A1").Value & ".xls", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False


peut être que les " ne sont pas au bon endroit

merci