OVH Cloud OVH Cloud

Déclaration de constantes

1 réponse
Avatar
Powaga Xavier
bonjour à toutes et tous,
j'ai un fichier excel comprenant de nombreuses feuilles. Chaque feuille
contient de nombreux petit programmes VBA dont certains vont chercher des
valeurs dans les feuilles voisines.
le problème est le suivant : si je modifie la mise en page d'une feuille
(rajout de colonne ou de ligne) il me faut reprendre tous les programmes VBA
des autres feuilles afin de leur fournir les nouvelles références dont elles
ont besoins.

Pour que mon travail soit plus simple il me faudrait définir des constantes
spécifiques concernant les références de toutes ces données transverses.
Ainsi, en cas de changement de mise en page d'une feuille, je n'aurais plus
le travail laborieux de changer les références dans tous les programmes
impactés, mais seulement de remettre à jour les constantes.

Mais voilà : comment définir des constantes reconnus par tous les programmes
de mes feuilles ?

1 réponse

Avatar
Nicolas B.
Salut,

Pour les constantes, il faut les déclarer Public en dehors d'une procédure :
Dans un des modules, mets avant la première procédure :

Public Const maConstante As Integer = 9

Avec le mot clé Public, la constante est accessible depuis tout module.


Mais dans ton cas, il est peut-être préférable de nommer les plages
utilisées. Tu peux alors utiliser ces plages dans VBA en utilisant leur
nom :

Range("maPlage").Select
ou
[maPlage].Select

En rajoutant des lignes et des colonnes, il n'y aura alors rien à
modifier dans ton code.


A+
Nicolas B.

bonjour à toutes et tous,
j'ai un fichier excel comprenant de nombreuses feuilles. Chaque feuille
contient de nombreux petit programmes VBA dont certains vont chercher des
valeurs dans les feuilles voisines.
le problème est le suivant : si je modifie la mise en page d'une feuille
(rajout de colonne ou de ligne) il me faut reprendre tous les programmes VBA
des autres feuilles afin de leur fournir les nouvelles références dont elles
ont besoins.

Pour que mon travail soit plus simple il me faudrait définir des constantes
spécifiques concernant les références de toutes ces données transverses.
Ainsi, en cas de changement de mise en page d'une feuille, je n'aurais plus
le travail laborieux de changer les références dans tous les programmes
impactés, mais seulement de remettre à jour les constantes.

Mais voilà : comment définir des constantes reconnus par tous les programmes
de mes feuilles ?