Salut nikoVB,
Je vois pas trop pourquoi diviser une macro dans 2 classeur pour ensuite les lier mais j’image que tu as tes raisons.
Neanmoins j’ai essayer de trouver une reponse (au cas ou ca te bloquerait vraiment pour continuer) et je n’ai pas trouve de meilleure methode que d’utiliser la feuille excel en “memoire tampon”.
En attendant mieux…
Macro dans le classeur “recepteur” (“Classeur2.xls”)
Private sub Chercher_variables()
Application.Run "'Classeur1.xls'!Export_Variables" ‘attention aux apostrophes et aux guillemets
With Sheet(“feuill1”)
Var1=.Range(“A1”)
Range(“A1”).delete
Var2=.Range(“A2”)
Range(“A2”).delete
End With
End Sub
Dans le classeur “envoyeur” (“Classeur1.xls”)
Public Sub Export_Varaibles()
Windows(“Classeur2.xls”).Activate
Sheet(“feuill1”).Range(“A1”)=variable1
Sheet(“feuill1”).Range(“A2”)=variable2
End Sub
Bien sur la macro utilisant les variable 1 et 2 doit etre en cours d’execution (dans le classeur1), c’est a dire que les variables variable1 et variable2 doivent contenir une valeur pendant que tu lances Chercher_variables.
Tu peux utiliser une methode wait ou afficher un USF non modal par exemple…
Si tu trouves autre chose ou que tu veux plus d’infos sur ma methode…
A++, Sylsyl.
P.S.:il y a peut-etre une autre piste a explorer avec VBProject, VBComponent ou qqchose comme ca..