Variables globales Excel VBA

Nous déclarons généralement n'importe quelle variable en utilisant le mot DIM et c'est la meilleure méthode directe pour le faire. Mais les variables déclarées à l'aide de DIM ne peuvent être utilisées que dans le même module. Si nous essayons d'utiliser cette variable définie en utilisant DIM, elle sera applicable au module sous lequel elle est déclarée. Et si nous voulons utiliser une variable dans n'importe quel module ou projet? Qu'est-ce qui ne peut pas être possible si nous continuons à utiliser DIM pour définir cette variable?

Dans ce cas, nous avons une option secondaire en définissant la variable par le mot Global ou Public dans VBA. Les variables globales ou publiques VBA sont les variables qui sont déclarées au début de la sous-catégorie à l'aide d'Option Explicit. Quelles que soient les choses que nous ne faisons pas ou ne pouvons pas faire dans les sous-catégories, elles sont effectuées avant cela sous Option Explicit.

Comment déclarer des variables globales dans VBA?

Voici les différents exemples pour déclarer une variable globale dans Excel à l'aide du code VBA.

Vous pouvez télécharger ce modèle Excel de variables globales VBA ici - Modèle Excel de variables globales VBA

Variables globales VBA - Exemple # 1

Dans cet exemple, nous verrons comment différentes sous-catégories peuvent être utilisées comme un seul module sans utiliser de mot global ou public pour définir une variable. Pour cela, nous aurions besoin d'un module.

  • Allez dans le menu Insertion et cliquez sur Module comme indiqué ci-dessous.

  • Saisissez maintenant la sous-catégorie sous n'importe quel nom, comme indiqué ci-dessous.

Code:

 Sub Global_Variable () End Sub 

  • Utilisez maintenant DIM pour définir tout type de variable. Ici, nous avons choisi l'alphabet A comme chaîne .

Code:

 Sub Global_Variable () Dim A As String End Sub 

  • Créez maintenant une autre sous-catégorie dans le même module comme indiqué ci-dessous.

Code:

 Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () End Sub 

  • Maintenant, dans la deuxième sous-catégorie, définissez une autre variable B en utilisant DIM comme chaîne.

Code:

 Sub Global_Variable () Dim A comme fin de chaîne Sub Sub Global_Variable6 () Dim B comme fin de chaîne Sub 

Comme indiqué ci-dessus, les variables A et B définies dans les deux sous-catégories ne peuvent pas être utilisées dans la région de l'autre. Ceux-ci ne seront applicables que dans leur propre sous-catégorie.

  • Maintenant, pour que cela fonctionne, écrivez Option Explicit au-dessus de la première sous-catégorie, comme indiqué ci-dessous.

Code:

 Option Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

  • Nous pouvons maintenant définir notre variable qui sera utilisée dans les deux sous-catégories dont nous avons ci-dessous. Envisagez maintenant d'écrire n'importe quelle variable, par exemple A sous forme de chaîne, à l'aide de DIM.

Code:

 Option Explicit Dim A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Comme nous avons défini la variable, toutes les sous-catégories seront dans ce module et cela ne serait applicable qu'à tout le code de ce module. Et si nous essayons d'appeler les variables définies dans ce module vers un autre module, cela nous donnerait l'erreur.

Variables globales VBA - Exemple # 2

Dans cet exemple, nous verrons comment utiliser le mot Global ou Public pour définir une variable dans Excel VBA. Pour cela, nous utiliserons le code que nous avons vu dans l'exemple-1.

Nous utiliserons la partie ci-dessous du code pour la déclaration de variable globale ou publique.

Code:

 Option Explicit Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Comme nous l'avons fait dans l'exemple-1 où nous avons déclaré la variable commune qui serait utilisée dans les deux sous-catégories, sous l'option explicite. Dans l'exemple, nous déclarerons également la variable globale sous l'option explicite.

Comme nous avons déjà notre code prêt, nous pouvons directement continuer à déclarer des variables à l'aide de Global . Maintenant, dans l'option explicite ci-dessous, écrivez Global comme nous l'avions fait avec DIM et sélectionnez une variable de votre choix. Ici, nous choisissons l'alphabet A comme indiqué ci-dessous.

Code:

 Option Explicit Global A Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Maintenant, nous choisissons n'importe quel type de variable. Comme nous avons déjà utilisé String dans l'exemple ci-dessus, nous utiliserions également la même chose ici.

Code:

 Option Explicit Global A As String Sub Global_Variable () Dim A As String End Sub Sub Global_Variable6 () Dim B As String End Sub 

Ceci termine notre processus de déclaration de variable globale. Maintenant, nous pouvons l'utiliser dans n'importe quel module, n'importe quel projet en tant que chaîne uniquement. Avant de l'utiliser, supprimez la variable précédemment déclarée, puis le code ressemblerait à celui ci-dessous.

Code:

 Option Explicit Global A As String Sub Global_Variable () End Sub Sub Global_Variable6 () End Sub 

Affectons maintenant du texte à la variable A définie dans les deux sous-catégories. Nous choisissons «Test1» et «Test2» pour la variable A dans les deux sous-catégories, comme indiqué ci-dessous. Et nous avons également choisi MsgBox pour afficher les valeurs stockées dans la variable A.

Code:

 Option Explicit Global A As String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Exécutez maintenant le code en appuyant sur la touche F5 ou en cliquant sur le bouton de lecture pour voir le résultat.

Nous obtiendrons le message comme «Test1» comme indiqué ci-dessus. C'est parce que nous avions gardé notre curseur dans la première sous-catégorie.

Placez maintenant le curseur n'importe où dans la deuxième sous-catégorie et exécutez à nouveau le code. Nous allons maintenant obtenir la boîte de message avec le message "Test2" comme indiqué ci-dessous.

C'est ainsi que nous pouvons créer et définir une variable une fois avec l'aide de Global et qui peut être utilisée dans n'importe quel module, n'importe quelle classe et dans n'importe quel projet. Nous pouvons également utiliser Public à la place de Global, comme indiqué ci-dessous. Et cela donnera le même résultat que nous avons obtenu en utilisant Global.

Code:

 Option Explicit Public A As String Sub Global_Variable () A = "Test1" MsgBox A End Sub Sub Global_Variable6 () A = "Test2" MsgBox A End Sub 

Avantages de VBA Global Variable

  • Cela permet de gagner du temps en déclarant les multiples variables lorsque nous savons, nous pouvons avoir besoin de définir à nouveau le même type de variable dans différents modules ou sous-catégories.
  • En utilisant Global ou Public dans la définition d'un processus variable, notre code devient plus petit en économisant du temps et des espaces.
  • Cela réduit la complexité lorsque nous écrivons l'énorme code et peut se confondre entre l'utilisation de différentes variables dans différents modules ou sous-catégories.

Inconvénients de la variable globale VBA

  • Si nous apportons des modifications à la variable globale, ces modifications seront implémentées partout où elles sont utilisées, ce qui pose problème dans la fonctionnalité du code écrit.

Choses dont il faut se rappeler

  • Global et Public peuvent être utilisés de manière interchangeable avec la même fonctionnalité.
  • Si nous ne voulons pas utiliser la variable globale, nous pouvons suivre le processus comme indiqué dans l'exemple-1 pour définir la variable. Mais cela serait limité au même module.
  • Les variables globales peuvent être utilisées dans n'importe quel module, n'importe quelle sous-catégorie, n'importe quelle classe ou dans n'importe quel projet.
  • Une variable globale donne la sortie du code où nous avons gardé le curseur. Il n'exécutera pas le code complet en une seule fois, donnant toutes les sorties une par une.

Articles recommandés

Ceci est un guide des variables globales VBA. Ici, nous discutons de la façon de déclarer des variables globales dans Excel à l'aide du code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. VBA UserForm
  2. Résoudre l'équation dans Excel
  3. Feuille d'activation VBA
  4. Comment modifier la liste déroulante dans Excel?

Catégorie: