Je ne trouve aucune documentation à l'appui de mes constatations, mais c'est pourquoi je suis ici. Dans mes modules, je déclare plusieurs tableaux globaux, ce n'est pas un problème en soi, mais ce qui semble se passer est que si je tente de déclarer plusieurs tableaux dans une seule instruction, seule la première est initialisée. Quelqu'un peut-il confirmer que c'est le comportement et/ou me diriger vers la documentation qui soutient cela?Variables globales Excel VBA
Exemple de non déclaration de travail
Global arr1, arr2, arr3
Quand je vais dans le code si je cherche la définition de Arr1 il se trouve. Si je cherche soit arr2 ou arr3 je reçois un message que "Identifiant sous cusor n'est pas reconnu." Si je déplace arr3 à une nouvelle ligne et le décale comme tel:
Global arr1, arr2
Global arr3
Il est maintenant reconnu. Donc je ne sais pas si c'est un comportement connu, un bug, ou autre.
'mondial a, b, c' est très bien, les 3 devraient être définis sans problème, vous aurez besoin pour développer votre exemple. Vous pouvez ajouter 'option explicit' en haut du module; VBA déclenchera une erreur si vous tentez d'utiliser une variable non déclarée/hors champ. (Il est également préférable de définir un type 'global a() comme chaîne, b() comme chaîne ...') –
Dans les deux cas, toutes les variables '' arr1'', '' arr2'' et '' arr3'' si déclaré de cette façon que vous avez spécifié devrait fonctionner. Et tous ceux-là seraient du type '' variant''. Si vous ne déclarez aucun type, toutes les variables deviennent par défaut '' TypeOf'' '' variant''. – Cylian
Je peux aussi déclarer des variables comme ci-dessus et voir leurs définitions dans le code suivant dans le même et d'autres modules. Je seconde la recommandation de @AlexK. utiliser Option Explicit. Une chose à propos des variables globales est qu'elles ne peuvent pas être déclarées dans une classe - elles ne compileront pas (mais ce n'est clairement pas votre problème). –