Problème de déclaration de variable globale

[Résolu/Fermé]
Signaler
Messages postés
4
Date d'inscription
jeudi 6 juin 2013
Statut
Membre
Dernière intervention
10 juin 2013
-
Messages postés
24205
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
-
Bonjour à tous ! Pour moi c'est une première sur comment ça marche.net!

Alors voila : J'ai un problème pour déclarer mes varaibles : Impossible depuis le début de mon projet de déclarer une variable globale au projet.

Je pense qu'il y a une option quelque part à activer mais je ne parviens pas à trouver où!

Merci d'avance!

Mickaël

5 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 182
Bonjour,

Tu travailles avec quoi ?
Messages postés
4
Date d'inscription
jeudi 6 juin 2013
Statut
Membre
Dernière intervention
10 juin 2013

Bonjour,

Autant pour moi! Il s'agit d'un projet VBA que je réalise sous word 2010. Mon projet comprend des modules et des formulaires, je souhaite définir une variable globale sur tout le projet.
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 182
Salut,

Tu la déclares comment ta variable globale ?

En principe on déclare la variable en début de module, avant toutes procédures.

Public var As Integer

var sera visible dans tout le code et par tous les modules.

Si tu veux quelque chose de propre et si tu as plusieurs variables globales, tu fais un module que pour ça que tu nommes par exemple : ModVarGlobales

Tu déclares les variables comme privées au Module : Private var As integer

Et tu fais des getters pour les lire et des setters pour leur affecter une valeur:

Public sub setVar (byval num as integer)
     var = num
End Sub

Public Function getVar()
     getVar = var
End Function


«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Messages postés
24205
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
6 937
Bonsoir polux,

tu pourrais développer un peu le pourquoi de les rendre privées et de les appeler de cette façon stp ?
On ne se complique pas la vie pour rien. Je pressens un intérêt mais il ne me saute pas aux yeux ;-)

eric
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 182
Salut Eriiic,

Ça fait plaisir de te recroiser ici.

Il n'y a pas d'obligation de les rendre privées. Perso je préfère cette méthode que j'estime plus "propre". Après c'est une question de conception de son code. Pour ma part, j'organise mon code par module. Un module n'effectuant qu'une tâche précise. D'où mon habitude de faire des accesseurs pour les attributs que je déclare toujours privés dans mes modules :0)

Ceci dit, même si MS Office permet d'utiliser un éditeur VB, ce n'est pas fait pour faire des applications complexes mais des "macros" pour automatiser des tâches répétitives et fastidieuses.

;0)
Messages postés
24205
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
24 octobre 2021
6 937
Merci
Bonne fin de WE :-)
eric
Messages postés
4
Date d'inscription
jeudi 6 juin 2013
Statut
Membre
Dernière intervention
10 juin 2013

Bonjour!

J'ai finalement trouvé mon erreur, je déclarais les variables dans un formulaire, du coup les variables qui auraient du être globales n'étaient pas visibles dans les modules.

Pour moi c'est pas logique, une variable globale doit être globale pour les modules et les formulaires...

Bref, en la déclarant dans un module cela la rendue visibile dans les modules et dans le code des formulaires.

Merci pour votre aide!
Messages postés
28
Date d'inscription
jeudi 6 décembre 2012
Statut
Membre
Dernière intervention
2 septembre 2014

comment tu fais ta déclaration???