Declaration et initialisation variables

tiow

XLDnaute Nouveau
Bonjour à tous,

J'aimerai savoir comment faire pour déclarer une variables avant toutes autres?
En faite j'ai plusieurs modules qui utiliserait cette variable (nombre de boucles statique).. Je l'ai donc déclarer public, ms elle est initialisée à 0, j'aimerai par exemple l'initialiser à 5 une seule fois dans mon projet, et pas dans chaque module; indépendemment de la macro appelée. Est-ce possible?

Merci,
tiow
 
G

Guest

Guest
Re : Declaration et initialisation variables

Bonjour,

Une solution possible:

Laisser la déclaration dans un des module:

Code:
Public MaVariable as integer 'Exemple
Puis dans l'évènement Workbook_Open:

Code:
Private Sub Workbook_Open()
    MaVariable = 5
End Sub

A l'ouverture du classeur la variable sera initialisée à 5.

Une autre:

Mettre la valeur dans une cellule d'une feuille cachée et faire référence à elle plutôt qu'à une variable.

A bientôt
 

tiow

XLDnaute Nouveau
Re : Declaration et initialisation variables

Re,
Malheuresement, cette solution pose problème .. si les variables sont toutes réinitialisées, il faut réouvrir le fichier pour remettre MaVar à 5 ..
Il n'existe pas une commande qui initialise cette variable en premier ?

Sinon il ne me reste plus qu'a l'initialiser dans chaque module avec la même valeur .. car je ne voudrai pas la caché dans une feuille
 
G

Guest

Guest
Re : Declaration et initialisation variables

Bonjour, il y a une autre solution:

Dans un module, rajouter la propriété suivante:

Code:
Private mMaVariable As Integer

Public Property Get MaVariable() As Integer
    
    If mMaVariable < 5 Then mMaVariable = 5
        MaVariable = mMaVariable

End Property

Public Property Let MaVariable(ByVal NewValeur As Integer)

    mMaVariable = NewValeur

End Property


Et tu pourras faire référence à la variable comme une autre.
 
G

Guest

Guest
Re : Declaration et initialisation variables

Oui, car en fait elle devient une propriété Public et non plus une variable.

Autre solution qui supprime une étape.

Code:
Public MaVariable as integer

Function GetMavariable() as integer
   if MaVariable>5 then GetMaVariable=5 else GetMaVariable=MaVariable
End Function

Pour donner une valeur:
MaVariable=123456

Pour Récupérer et utiliser la valeur:
X=GetMaVariable()*12345/3576+234567

Pour ma part je préfère la propriété.
 

tiow

XLDnaute Nouveau
Re : Declaration et initialisation variables

Merci Staple1600,
C'est exactement ce que je cherchais .. j'avais tenté Public Static Mavar as long .. mais cela ne fonctionnait pas.
Pour Hasco , en fait quand je disait "facilement changeable" je voulais que la variable soit facilement accessible dans le code pour la changer. Car elle ne doit être que rarement modifier. :eek:

En tous cas merci à tous les deux,
Bonne fin de journée :)
tiow

edit: Promis j'avais regardé dans l'aide !! mais apparement pas assez ..
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz