faire fonctionner une macro sur des fichiers au nom different

florentin

XLDnaute Nouveau
bonjour a tous

voila!

j ai un modele qui me sert pour etablir des bons de commande qui s'appelle "icag commande nomduclient.xls"
puis quand je realise une vente je reouvre le fichier, je fais un "ctrl F" je lance une macro que j'ai enregistrer qui me reformate l'apparence du fichier pour en faire une facture, jusque la tout va bien

et je veux donner un numero a ma facture
j'inscrit le numéro de base sur a1 de perso.xls sur b1 j'ecrit =a1+1
puis j'enregistre une macro à partir de "icag commande nomduclient" je vais dans perso.xls je copie b1 je reviens sur icag commande nomduclient je colle special, puis je copie le numero sur "icag commande nomduclient" je reviens dans perso sur a1 je colle (b1 se prepare pour la prochaine facture, j'enregistre perso je reviens dans "icag commande nomduclient", et c'est fini
ca marche bien mais le "nomduclient" change et ca ne marche plus et je galere et je ne trouve pas la solution, je suis nul!!!!
voila la macro

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 22/05/2012 par FLORENTIN
'
' Touche de raccourci du clavier: Ctrl+n
'
Windows("PERSO.XLS").Activate
Range("B1").Select
Selection.Copy
Windows("ICAG COMMANDE nomduclient.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PERSO.XLS").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save
Windows("ICAG COMMANDEnomduclient.xls").Activate
End Sub



quequ'un peut il m'aider?
d'avance merci
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : faire fonctionner une macro sur des fichiers au nom different

Bonjour,

utilise peut être une variable objet, exemple ci-dessous si cela peut t'aider :
Code:
Dim wb As Workbook

'initialise la variable avec le classeur actif
Set wb = ActiveWorkbook

'initialise la variable avec le classeur dans lequl le code est exécuté
Set wb = ThisWorkbook

'exemple d'utilisation de la variable
MsgBox wb.Name
'ou encore
wb.Sheets("NomFeuille").Range("A1").Value = "abc"

bonne journée
@+
 

florentin

XLDnaute Nouveau
Re : faire fonctionner une macro sur des fichiers au nom different

j'essaye mais rien ça ne fonctionne pas! au secours

lorsque les fichiers ont une partie de leur nom qui est commune, peut on les activer par leur partie commune du style
"icag commande nomduclient" par icag commande *****"
 

Pierrot93

XLDnaute Barbatruc
Re : faire fonctionner une macro sur des fichiers au nom different

Re,

et il est ouvert coment ton fichier "icag commande nomduclient" ?
et le code est dans quel classeur ?

tu peux aussi boucler (for each) sur les classeurs ouverts en testant avec l'opérateur "Like"..... n'hésite pas à rechercher sur ce forum et dans l'aide vba, tu devrais y trouver des pistes...
 

Pierrot93

XLDnaute Barbatruc
Re : faire fonctionner une macro sur des fichiers au nom different

Re,

et c'est quoi le code de cette macro..... sans doute initialisée la variable objet juste après l'ouverture de ton fichier "icag commande nomduclient" avec le code donné ce matin.
 

florentin

XLDnaute Nouveau
Re : faire fonctionner une macro sur des fichiers au nom different

voila la macro

Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 22/05/2012 par FLORENTIN
'
' Touche de raccourci du clavier: Ctrl+n
'
Windows("PERSO.XLS").Activate
Range("B1").Select
Selection.Copy

Windows("ICAG COMMANDE MAUBOUSSIN.xls").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("D2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("PERSO.XLS").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
ActiveWorkbook.Save


Windows("ICAG COMMANDE MAUBOUSSIN.xls").Activate
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : faire fonctionner une macro sur des fichiers au nom different

Re,

et bien sert toi de la variable objet, au début de ton code lorsque le classeur client est actif :
Code:
Dim wb As Workbook

'initialise la variable avec le classeur actif
Set wb = ActiveWorkbook

ensuite dans ton code quand tu veux l'activer :
Code:
Wb.Activate
 

Discussions similaires

Réponses
2
Affichages
117

Statistiques des forums

Discussions
312 199
Messages
2 086 160
Membres
103 148
dernier inscrit
lulu56