XL 2010 récupérer dans classeur 1 une variable calculée dans classeur 2

F22Raptor

XLDnaute Impliqué
Hello,
Dans mon classeur 1, une proc utilise une macro "commune" présente dans le classeur 2, qui calcule une variable TOTO.

CLASSEUR 2
Public MaVariable as Integer

Sub MacroCommuneClasseur2(Parametre as String)

'ici quelques calculs

MaVariable = 'calcul de la variable

End Sub




Dans mon Classeur1, j'ai donc :
Public MaVariable as Integer 'je l'ai redéclarée ici
Sub MacroClass1()

Application.Run "'Classeur2.xls'!MacroCommuneClasseur2", "MonParametre"

MsgBox MaVariable

End Sub



Problème : je n'arrive pas à la récupérer ! Elle est vide !
Comment faire passer cette Variable d'un classeur à l'autre (autrement qu'en l'inscrivant dans une cellule pour récupérer ensuite la valeur de la cellule)
 

Dranreb

XLDnaute Barbatruc
Re : récupérer dans classeur 1 une variable calculée dans classeur 2

Bonjour

Vous pouvez peut être l'écrire sous forme de Function qui renvoie la valeur.
Si c'est un classeur de macros vous pouvez peut être donner un nom spécial à son projet VBA et le cocher dans les références disponible des classeurs utilisateurs.
 

F22Raptor

XLDnaute Impliqué
Re : récupérer dans classeur 1 une variable calculée dans classeur 2

Bon, en Function ça ne marche pas non plus :(

Je vais simplifier, et mettre ma macro commune dans le classeur 1 pour y faire appel.
Moins propre, moins léger, mais efficace.
 

Dranreb

XLDnaute Barbatruc
Re : récupérer dans classeur 1 une variable calculée dans classeur 2

Chez moi ça marche:
Dans un module d'un nouveau Classeur1 :
VB:
Option Explicit

Function Rac(ByVal X As Double)
Rac = Sqr(X)
End Function
Dans un module d'un nouveau Classeur2 :
VB:
Option Explicit

Sub Test()
MsgBox Application.Run("Classeur1!Rac", 49)
End Sub
m'affiche 7.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 842
Messages
2 092 746
Membres
105 519
dernier inscrit
faivre-roussel.ivan@orang