Variables publiques VBA - Comment déclarer des variables publiques dans VBA (exemples)

Table des matières

Variables publiques dans VBA

Les «variables publiques» dans VBA, comme son nom l'indique, sont des variables déclarées pour être utilisées publiquement pour toutes les macros que nous écrivons dans le même module ainsi que dans différents modules. Ainsi, lorsque les variables sont déclarées au début d'une macro, elles sont appelées «Variables publiques» ou «Variables globales».

Comment déclarer des variables publiques dans VBA?

Habituellement, nous démarrons la sous-procédure VBA, et à l'intérieur de la sous-procédure, nous déclarons nos variables. C'est la pratique courante que nous avons tous pratiquée jusqu'à cet article.

Chaque fois que nous écrivons une nouvelle sous-procédure, nous déclarons de nouvelles variables avec des types de données qui leur sont assignés. Mais aujourd'hui, nous allons dire adieu aux variables répétitives à travers les sous-procédures.

Rappelons-nous l'ancien style. Voici le code que j'ai écrit avec une seule variable.

Dans la sous-procédure «Public_Variable», j'ai déclaré cette variable. Maintenant, je ne peux utiliser aucun des autres modules.

Maintenant, dans la sous-procédure «Public_Variable1», nous ne pouvons pas utiliser la variable «Var1», qui a été déclarée dans la première sous-procédure «Public_Variable». C'est la limitation de la déclaration des variables à l'intérieur des sous-procédures.

# 1 - Variables au niveau du module

Comme nous le savons tous, nous écrivons des macros dans des modules. Nous pouvons insérer un certain nombre de modules. Nous pouvons déclarer deux types de «variables publiques» dans VBA, l'une consiste à utiliser les variables pour toutes les sous-procédures dans le même module, et la seconde consiste à utiliser les variables pour toutes les sous-procédures dans tous les modules.

Tout d'abord, nous verrons déclarer des variables publiques dans VBA au niveau du module.

Pour utiliser les variables pour toutes les sous-procédures dans le même module, nous devons déclarer les variables en haut du module avant de démarrer les macros.

Voici l'exemple de capture d'écran pour votre compréhension.

Comme nous pouvons le voir dans l'image ci-dessus, j'ai déclaré deux variables avant de démarrer une macro dans le module. Désormais, ces deux variables peuvent être utilisées dans n'importe quel nombre de macros de ce module.

Dans la sous-procédure, commence à taper le nom de la variable que vous pouvez voir. La liste IntelliSense affichera les noms des variables.

Nous pouvons maintenant utiliser ces variables dans toutes les macros que nous écrivons dans «Module1».

Ces variables sont limitées à une utilisation dans ce module uniquement. Par exemple, maintenant, je vais insérer un module supplémentaire et écrire une nouvelle macro.

Dans Module2, je ne peux pas utiliser les variables que nous avons déclarées dans «Module1».

Alors, comment pouvons-nous rendre ces variables publiques dans VBA pour les utiliser dans tous les modules et dans toutes les sous-procédures?

# 2 - Déclarer les variables les utiliser publiquement

Revenez à «Module1» dans ce module. Nous avons déclaré des variables avant de commencer à écrire la manière de la macro et aussi quel monde nous avons utilisé pour déclarer ces variables.

Notre façon traditionnelle d'utiliser le mot «DIM» nous avons déclaré ces variables.

Lorsque nous n'utilisons que le mot «DIM», il est uniquement limité pour être utilisé dans toutes les macros mais dans le même module.

Au lieu du mot «DIM», nous devons utiliser le mot «PUBLIC» ou «GLOBAL» pour les rendre utilisables dans tous les modules de macros.

J'ai utilisé le mot «Global» pour rendre la déclaration de variable publique. Vous pouvez également utiliser le mot «public».

Ainsi, en utilisant les mots «Global» et «Public», nous pouvons déclarer des variables qui peuvent être utilisées pour toutes les macros à travers les modules.

Choses dont il faut se rappeler

  • C'est une bonne pratique de déclarer des variables publiquement mais nécessite une grande expérience avant de les déclarer.
  • Une fois que les macros sont lancées, la valeur de la variable de la macro sera la même.
  • Attribuez la valeur particulière à la variable à l'intérieur de la macro spécifique uniquement pour éviter toute sorte de confusion.

Articles intéressants...