Macro et enregistrer-sous

petipeton

XLDnaute Nouveau
Bonjour !

Voici ma question du jour...

J'ai un tableau Excel (obtenu à partir d'un progiciel quelconque) et qui contient une macro.

Au milieu de cette macro, j'ai une commande qui dit : enregistrer sous le nom TOTO.XLS sur le C: de l'ordinateur local.

Sauf que là... je perds la suite de la macro (qui lance notamment un publipostage)... ! En effet, le nouveau tableau généré et créé mais la macro ne suit pas ?

Faut-il une ligne de commande qui dise quelque chose du genre :
'enregistrer sous le nom TOTO.XLS sur le C: de l'ordinateur local mais emmène la suite de cette macro avec '?

Merci de vos réponses !!!

Toujours le même deal : des bisous à celui (celle) qui me dépannera par sa réponse !
 

Tungstene

XLDnaute Occasionnel
Salut.

Je ne vais pas pouvoir t'aider mais en revanche tu peux peut être répondre à ma question.

Je cherche à enregistrer un classeur tout en lui précisant un nom et sa destination.
Sachant que le nom est tj le même mais qu'il y a l'année et que par conséquent il faudrait que tout les ans l'année mais incrémenter de 1.

Ex : fichier_2006, puis pour 2007 : fichier_2007

Ou soit lui dire de prendre 'l'année en cours' et la concaténer aunom du ficher?
 

petipeton

XLDnaute Nouveau
Moi, en VBA, je suis une grande débutante.

Moi je ferai comme ça :

- dans une cellule d'une feuille nommée 'Paramètres', je mettrai en A1 la formule =aujourdhui() puis en A2, =annee() puis dans le code VBA je concatènerais le nom du fichier avec le contenu de la cellule A2 de la feuille Paramètres.

Mais y'a des super pros qui vont te dire comment gérer ça entièrement sous VBA, tu vas voir...
 
G

Guillaume

Guest
Bonjour,
la solution que je propose permet de rajouter dans un enregistrer sous l'année en cours.

pour se faire lancer l'enregistreur de macro puis réaliser un enregistrer sous avec le nom du ficher ex : fichier_
ce qui donne un code comme suit :

ActiveWorkbook.SaveAs Filename:= _
'Adresse\\fichier_.xls', FileFormat:=xlNormal _
, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False, _
CreateBackup:=False

Et pour rajouter l'année en cour il suffit de rajouter Year(Date) comme suit

ActiveWorkbook.SaveAs Filename:= _
'Adresse\\fichier_' & Year(Date) & '.xls', FileFormat:=xlNormal _
, Password:='', WriteResPassword:='', ReadOnlyRecommended:=False, _
CreateBackup:=False

Et là lorsque la macro est lancé pour 2005 le fichier sera enregistré sous fichier_2005
En 2006 sous fichier_2006

Problème qui peut se poser si on lance la macro et que le fichier exite déjà il y aura un mésage disant que le fichier existe déjà et demandant si on veut supprimer l'ancien fichier.

pour enregistrer sans voir le méssage d'alerte, il faut placer le code suivant avant le code pour enregistrer sous.

Voilà, j'espère avoir répondu a ta question.

Bon courrage
 

Discussions similaires

Statistiques des forums

Discussions
312 343
Messages
2 087 442
Membres
103 546
dernier inscrit
mohamed tano