Les Allergies
Alimentaires
Posez votre question Signaler

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

BastienP 4Messages postés 11 juillet 2008Date d'inscription - Dernière réponse le 26 janv. 2012 à 11:08
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!!
Lire la suite 

[macro VBA] enregistrer classeur nom cellule »

25 réponses
Réponse
+8
moins plus
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
Florie - 22 juil. 2010 à 23:37
cela signifie merci en tahitien :D
eriiic- 22 juil. 2010 à 23:40
Ah, ok, j'au rais appris qcq chose... :-)
De rien, et bonne continuation :-)
u se prononce ou ?
Florie - 27 juil. 2010 à 23:30
oui, à prononcer maourourou ;)
Ajouter un commentaire
Réponse
+3
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Merci à tous pour ces réponses si rapides,
En plus j'ai le choix!!

A+
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
Je te remercie vivement alogplus et te souhaite une excellente journée.
Ajouter un commentaire
Réponse
+0
moins plus
Merci beaucoup algoplus
Au plaisir
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
c'est bon j'avais un espace en trop !!^^
les mystères d'excel !!!!!!!
Ajouter un commentaire
Réponse
+0
moins plus
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é !
Shades - 25 janv. 2012 à 17:14
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,
Shades - 26 janv. 2012 à 11:08
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,
Ajouter un commentaire
Réponse
-1
moins plus
ca devrait marcher comme tu veux

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

ActiveWorkbook.SaveAs Filename:=nomfic
Ajouter un commentaire
Ce document intitulé « [macro VBA] enregistrer classeur nom cellule » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?