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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?