variable commune à plusieurs procédures

  • Initiateur de la discussion Requin
  • Date de début
R

Requin

Guest
Salut,

Dans VBA pour Excel, j'ai 2 procédures, Macro1 et Macro2 et je voudrais qu'elles utilisent toutes les deux la même variable i:
Sub Macro1()
i = i + 1
Call Macro2
End Sub

Sub Macro2()
Msgbox('i=' & i)
Call Macro1
End Sub

Comment dois-je faire pour que mon programme exécute effectivement le code que je souhaite: affichage de tous les
nombres de 1 à ...
Je veux dire par là qu'a priori, i n'a pas de valeur. Comment
donc déclarer une valeur initiale à i en dehors des 2 procédures.
Comment transmettre cette valeur aux 2 procédures.

Merci d'avance pour votre aide.
:p
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Bonjour

Tout d'abord une variable cela se déclare

Si tes macros siont dans le même module tu déclares ta variable en debut de module

dim i as integer

Sub Macro1()
i = i + 1
Call Macro2
End Sub

Sub Macro2()
Msgbox('i=' & i)
Call Macro1
End Sub

Si tes macros sont dans des modules différents il faut la déclarer public dans un module au début de celui-ci avant tout code

Exemple

dans le module1

public i as integer
Sub Macro1()
i = i + 1
Call Macro2
End Sub

dans le module 2

Sub Macro2()
Msgbox('i=' & i)
Call Macro1
End Sub

Bon courage
 

Discussions similaires

Réponses
7
Affichages
385
Réponses
20
Affichages
858

Statistiques des forums

Discussions
312 389
Messages
2 087 925
Membres
103 676
dernier inscrit
Haiti