Mettre à jour le contenu d'une MACRO

Titoy

XLDnaute Junior
Bonjour,

Je viens de tomber sur un os !

Je souhaite Mettre à jour le contenu de ma macro en fonction du nom de mon fichier ! Est ce possible ? :confused: ?

Voici ma Macro

ActiveWorkbook.Save 'sauvegarde du fichier
Sheets("Tony").Select ' sélection de la feuille
Sheets("Tony").Move ' déplacement
ChDir "E:\"
' j'enregistre dans le lecteur E: mon fichier que je renomme
ActiveWorkbook.SaveAs Filename:="E:\Tony.xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
'Envoie par mail du fichier rennomer par PJ
Application.Dialogs(xlDialogSendMail).Show

Sheets("Tony").Select ' sélection de la feuille précédemment déplacer
Sheets("Tony").Move Before:=Workbooks( _ ' réinsertion au bon endroit
"Tonysource.xls").Sheets(1) 'dans le classeur TONY 1
ActiveWorkbook.Save 'sauvegarde
End Sub


Mon soucis est que je vais avoir plusieurs fichier Source ( Tony, Jack, Paul ... ) et je voudrais que lorsque j'enregistre un nouveau classeur, ma macro se mette à jour automatiquement en fonction du nom du fichier !

Je suis tout ouïe !:D

Merci d'avance

TONY
 

Pyje

XLDnaute Nouveau
Re : Mettre à jour le contenu d'une MACRO

Avant de faire ta sauvegarde, il te faut récupérer le nom du classeur, par exemple :
nomfich = ActiveWorkbook.Name
et ensuite utiliser la variable contenant ce nom à la place de 'Tony'
exemple :
ActiveWorkbook.SaveAs Filename:="E:\" & nomfich
 

Titoy

XLDnaute Junior
Re : Mettre à jour le contenu d'une MACRO

Merci pour ton aide, ton code est très utile !
Par contre, je n'arrive pas au résultat espérer !
Je me suis mal exprimé.

Le but c'est que je copie / colle ma macro dans des classeurs déjà existant et que la Macro prenne en compte la modification du nom du classeur toute seul.

Sheets("Confirmation d'embarquement").Select
Sheets("Confirmation d'embarquement").Move Before:=Workbooks( _
"Pack booking extract PJ.xls").Sheets(4)

J'ai essayé de remplacer ce qui est en gras par nomfich mais sa m'a mis une erreur !

donc je sais pas :confused:

Merci de votre aide !!

TONY
 

tototiti2008

XLDnaute Barbatruc
Re : Mettre à jour le contenu d'une MACRO

Bonjour Titoy,

si la feuille Confirmation d'embarquement est dans le même classeur, tu peux essayer :

Sheets("Confirmation d'embarquement").Move Before:=Sheets(4)

si tu veux faire appel au classeur contenant le code, tu peux essayer :

Sheets("Confirmation d'embarquement").Move Before:=ThisWorkbook.Sheets(4)

si tu veux faire appel au classeur actif, tu peux essayer :

Sheets("Confirmation d'embarquement").Move Before:=ActiveWorkbook.Sheets(4)

sinon je ne sais pas...
 

Discussions similaires

Réponses
26
Affichages
496

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas