définition de variables public

yaka

XLDnaute Occasionnel
Bonjour

J'ai dans un fichier un onglet "base de données" avec x colonnes ayant chacune, dans la ligne 1, un nom différent.

Dans plusieurs macro du même fichier j'utilise le nom de ces colonnes pour identifier leurs rangs et utiliser ces valeurs.

petite précision importante : Les utilisateurs peuvent selon leur convenance modifier l'ordre de ces colonnes mais pas leurs noms.


Est-il possible d'identifier les rangs des colonnes une seule fois dans un module dédié et de faire en sorte que les macros, qui en ont besoin, aillent chercher ces valeurs dans ce module?

Si oui quel code écrire?


merci par avance pour votre aide

Y+
 

job75

XLDnaute Barbatruc
Re : définition de variables public

Bonsoir yaka,

Une solution simple consiste à nommer dans la feuille les colonnes qui vous intéressent (menu Insertion-Nom-Définir).

Dans les macros, vous utiliserez ces noms, par exemple Columns("Toto") ou [Toto].

Edit : je n'avais pas vérifié, Columns("Toto") donne une erreur, il faut écrire Range("Toto")

A+
 
Dernière édition:

yaka

XLDnaute Occasionnel
Re : définition de variables public

Bonsoir yaka,

Une solution simple consiste à nommer dans la feuille les colonnes qui vous intéressent (menu Insertion-Nom-Définir).

Dans les macros, vous utiliserez ces noms, par exemple Columns("Toto") ou [Toto].

Edit : je n'avais pas vérifié, Columns("Toto") donne une erreur, il faut écrire Range("Toto")

A+


job75... j'ai déjà nommé mes colonnes... j'y ai pensé... mais justement :

Dans mes macros à chaque fois j'utilise :

range("colonne x").column pour identifier le rang et comme je réutilise cette valeur plusieurs fois je définis au préalable une variable

illustration :

dim cColonneX as integer 'X va de 1 à 10

cColonneX= feuil(y).range("colonne X").column

et après j'utilise cColonneX


j'ai 10 colonnes concernées... donc dans chaque macro concernée (il y en a 5) je réalise 10 fois ce code... ça en fait des lignes... donc je me dis : pourquoi ne pas réaliser une fois cette manip dans un module dédié et finalement dans les macros j'utilise directement cColonneX

.... et comme ça, si je dois ajouter une colonne supplémentaire, ce sera plus facile à gérer.


Tu vois ce que je veux dire?
 

yaka

XLDnaute Occasionnel
Re : définition de variables public

Pascal, parfait.

comme les variables peuvent changer en cours d'utilisation (déplacement des colonnes) j'ai mis le code de détection dans une macro stockée dans un module et à chaque macro concernée je fais appel à lui pour rafraichir la valeur de ses variables.

un GRAND merci.

y+++
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 427
Messages
2 088 302
Membres
103 812
dernier inscrit
klcrabi