à propos des variables

  • Initiateur de la discussion audrey
  • Date de début
A

audrey

Guest
bonjour le forum,

j'aimerais juste savoir si il est possible de déclarer une variable pour un module et qu'elle garde la même valeur pour toutes les procédures de ce module. mais pas pour tout le classeur.

merci
 
A

Alain

Guest
Bonjour,



Voilà ce que l'on trouve dans l'aide :

Lors de la déclaration de variables, vous employez généralement une instruction Dim. Une instruction de déclaration peut être placée dans une procédure pour créer une variable de niveau procédure. Elle peut être également placée au début d'un module, dans la section Déclarations, pour créer une variable de niveau module.

Tu peux essayer le bout de code ci-dessous en mode pas-à-pas, tu verras que toto garde sa valeur en passant dans la procédure essai1.

Dim toto
Sub essai()
toto = 15
essai1
End Sub
Sub essai1()
Dim tata
tata = toto
End Sub

@+
 
A

audrey

Guest
ok donc il faut que les procédures soit dans l'ordre de passage.
je sais que tout est écrit dans l'aide mais je ne l'ai pas sur mon Pc etje suis dans une entreprise qui n'a pas le CD d'installation

merci pour la réponse.

@+
 
A

Alain

Guest
Rebonjour,


Petit résumé :


Si tu veux que ta variable soit connue dans tout ton projet, il faut qu'elle soit déclarée Public dans la partie déclarations de n'importe quel module.

Pour un module, il suffit qu'elle soit déclarée dans le module dans lequel tu veux l'utiliser mais en dehors d'une procédure.
Pour répondre à ta question, l'ordre des procédures importe peu, mais la variable ne contiendra quelque chose que quand tu lui auras affecté une valeur.

Une variable peut aussi être déclarée Static, dans ce cas, elle perd sa valeur en sortie de procédure et la retrouve en revenant dans la procédure.


@+
 

Discussions similaires

Réponses
24
Affichages
962

Statistiques des forums

Discussions
314 095
Messages
2 105 816
Membres
109 435
dernier inscrit
Flore234