Rechercher : dans
Par :

[macro VBA] enregistrer classeur nom cellule

Dernière réponse le 8 aoû 2009 à 17:53:24 BastienP, le 28 jui 2008 à 18:50:49 
 Signaler ce message aux modérateurs

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!!

1

algoplus, le 28 jui 2008 à 20:07:11

Ca devrait marcher comme tu veux

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

ActiveWorkbook.SaveAs Filename:=nomfic

Répondre à algoplus

2

eriiic, le 28 jui 2008 à 20:09:06

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

Répondre à eriiic

5

dokayun, le 8 aoû 2009 à 16:48:28

Salut eric, super ta formule, par contre comme je suis novice en macro, peux tu me dire ce qu'il faut écrire pour attribuer le chemin d accès le mien est "C:\Users\Famille MOULA\Documents\projet\Eve\test.
je te remerci car actuellement tou mes fichiers enregistré vont directement dans mes documents je suis a peu de chose de réussir !!


merci beaucoup

Répondre à dokayun

6

 eriiic, le 8 aoû 2009 à 17:53:24

Bonjour,

Soit tu mets le chemin et le nom du fichier dans 2 cellules d'une feuille, soit dans des variables vba, ou tu panaches.
Ex avec chemin en variable et nom fichier dans Feuil1!A1 :
sub sauve
dim chemin as string
chemin = "C:\Users\Famille MOULA\Documents\projet\Eve\"
ActiveWorkbook.SaveAs Filename:=chemin & worksheets("Feuil1").[A1].Value
end sub

eric

Répondre à eriiic

3

michel_m, le 28 jui 2008 à 20:11:44
  • +2

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

Répondre à michel_m

4

BastienP, le 28 jui 2008 à 20:36:11

Merci à tous pour ces réponses si rapides,
En plus j'ai le choix!!

A+

Répondre à BastienP