problème de portée de variables
Bonsoir
Je souhaiterai, dans un même module, pouvoir déclarer et initialiser des variables une fois, pour qu'elles soient ensuite visible dans tout le module. Mon idée était la suivante
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
Option Explicit
Private FeuilleDonnees As Worksheet
Private FeuilleMacro As Worksheet
Private NbrLigDon As Long
Sub InitialisationVariables()
Set FeuilleDonnees = Worksheets("Octobre")
Set FeuilleMacro = Worksheets("Macro CRT")
' Déterminer la dernière ligne de la feuille de données
NbrLigDon = FeuilleDonnees.Range("A" & Rows.Count).End(xlUp).Row ' ce qui donne 7500 dans mon cas de figure
End Sub
Sub valid_1()
call InitialisationVariables
MsgBox (NbrLigDon) ' je souhaiterai qu'il me retourne 7500
etc
End sub
Sub valid_2()
call InitialisationVariables
etc
End sub |
Un bouton est attibué à chaque valid_n(), et il n'y a aucun rapport ou lien entre les deux
Il se trouve que MsgBox (NbrLigDon) retourne 0.
Merci à celui ou celle qui m'éclairera sur la raison, car j'ai tout essayé. Public, static...
ps :comment fait-on pour écrire le code "formaté" avec les couleurs ?