Passage d'arguments d'une macro à une autre

coco_lapin

XLDnaute Impliqué
Bonjour le forum.

Je voudrais passer des arguments à la macro es2 mais VBA ne veut pas prendre ce code 'Run(es2,5,10)'.
Je n'ai probablement pas tout compris aux passage des arguments.

Quelle est l'erreur?
Ci après le code complet


Sub es1()
var_es1 = 5
var_es2 = 10
Run(es2,5,10)
End Sub


Sub es2(var_es1, var_es2)
dhdh = var_es1
End Sub
 

coco_lapin

XLDnaute Impliqué
Merci Hervé et Pascal76, vos propositions fonctionnent.

Dans ce cas simple j'aurais pu déclarer les variables en public. Je me pose donc une autre question: à quoi servent les arguments?

Je n'ai tout de même pas compris pourquoi j'ai une erreur avec Run alors que c'est dans l'aide Excel, mais ça c'est pour le fun.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
RE

Pour le run voici ce que dit l'aide

Exécute une macro ou appelle une fonction. Cette méthode permet d'exécuter une macro écrite en Visual Basic ou dans le langage macro de Microsoft Excel 4.0 ou d'exécuter une fonction dans une DLL ou une XLL.

Sinon oui tu peux avoir des variables publics mais franchement cela fait propre aussi de passer des arguments ainsi sans avoir à déclarer des variables publics supplémentaires
 

coco_lapin

XLDnaute Impliqué
Merci Pascal76 pour ces explications.

En fait au lieu de comprendre 'une macro écrite en Visual Basic' j'ai traduis 'une macro écrite en Visual Basic [/b]Application, ce qui n'est pas la même chose.

Je ne maitrise pas encore les boardcodes, Application aurait du être en gras.

Un autre essais pour la forme: Application. Je crois avoir compris, je m'étais loupé. Ce dernier essai devrait être en réussi.

Message édité par: coco_lapin, à: 03/01/2006 16:29

Pour le gras je vais m'appliquer Application. Je croise les doigts.

Message édité par: coco_lapin, à: 03/01/2006 16:34
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 963
Messages
2 093 996
Membres
105 906
dernier inscrit
aifa