Problème de déclaration de variable globale
Résolu
Mikelt
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
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
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
A voir également:
- Variable globale vba
- Incompatibilité de type vba ✓ - Forum Programmation
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Excel compter cellule couleur sans vba - Guide
- Msgbox vba variable ✓ - Forum VB / VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
5 réponses
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.
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.
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:
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
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
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)
Ç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)
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!
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!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question