Bonjour ;
J’ai une macro A qui fait collecte des données sur une feuille Excel et fait apparaître un userform de choix, qui lance d’autre macro B et C.
J’aimerai récupérer mes données de A dans B et C
Comment dois-je faire?
Bonjour ;
J’ai une macro A qui fait collecte des données sur une feuille Excel et fait apparaître un userform de choix, qui lance d’autre macro B et C.
J’aimerai récupérer mes données de A dans B et C
Comment dois-je faire?
Bonjour Spoyet
Tu as deux solutions,
Soit dans un module, Au dessus du premier sub tu definis des variables publiques
Elles sont utilisables de n'importe quelle macro. Dans ta premiere macro tu les mets à jour
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Nomvar1 as String, Nomvar2 as double, Nomvar3 as integer
Sinon , dans l'userform tu crees des label avec en option visible à False
tu les charges dans ta premiere macro, elles sont recuperables tant que l'usf reste en memoire
Bonne journée
sinon tu passes les paramètres A,B,C au lancement de ton autre macro dpuis la macro d'origine
et la macro appellé débute comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part macro A B C
Code : Sélectionner tout - Visualiser dans une fenêtre à part Sub Macro(byval A as integer,byval B as string,byval C as boolean)
Merci pour la réponse;
Pour les variable simple comme "nblab" ça passe mais pour "nbressai(100)"
Voila mes lignes de prog
"En début de module"
"En début de la première macro et du userform"
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public nblab, nbressai(100), nbessai
Code : Sélectionner tout - Visualiser dans une fenêtre à part Static nbressai(100)
re:
pourquoi static, ce n'est pas utile, le tableau etant deja defini et dimenssionné dans puplic
Bon apres midi
De toute façon que ce soit Dim ou Static ça je ne retrouve pas mes valeurs
re:
j'ai fait un essai, public essai(100) dimensionne automatiquement une table de 100 postes
il n'y a aucun besoin de redefinir le tableau. la redefinition du tableau, remet automatiquement les valeur à zero, donc normal que tu perdes tout !!!
comme je t'ai dit
au debut d'un module, 1ere ligne, en dehors d'un sub
ensuite dans n'importe quelle procedure
Code : Sélectionner tout - Visualiser dans une fenêtre à part Pulic tablo(100) as variant
le tableau est rempli
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 for i = 1 to 15 : tablo(i) = range("A" & I):next i for i= 16 to 30: tablo(i) = tange("B" & I-15) : next i
dans une autre procédure
te donnera les 2 valeurs memorisées précedemment
Code : Sélectionner tout - Visualiser dans une fenêtre à part msgbox tablo(10) & " " & tablo(25)
pas de dim, pas de static, pas de redim, ton tableau est defni par Public
Bonne soirée, à + sur le forum
Partager