XL 2021 Déclaration de variables à partir d'une liste de noms

  • Initiateur de la discussion Initiateur de la discussion PMG
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

PMG

XLDnaute Junior
Bonjour le Fil, le forum,

J'ai un fichier avec 25 feuilles. Dans chaque feuilles, j'ai des listes de noms de tailles variables qui peuvent évoluer.
Pour fonctionner correctement, chaque liste à besoin de 3 variables appelés :

LIST1 ->Position de la liste.
LIST1_CHIP -> Position des symboles de la liste.
LIST1_MERGE -> Position du nombre indiquant les cellules fusionnées.

LIST1 et incrémenté, puis devient LIST2 etc.. en fonction du nombre de listes sur une feuille.
Une procédure VBA me retourne un tableau avec 2 colonnes qui comprend le nom unique pour chaque liste (gestionnaire de nom) et le nom des variables correspondantes:

NM_FEUIL1_LIST1 LIST1
NM_FEUIL1_LIST1_CHIP LIST1_CHIP
NM_FEUIL1_LIST1_MERGE LIST1_MERGE
NM_FEUIL1_LIST2 LIST2
NM_FEUIL1_LIST2_CHIP LIST2_CHIP
NM_FEUIL1_LIST2_MERGE LIST2_MERGE
NM_FEUIL1_LIST3 LIST3
NM_FEUIL1_LIST3_CHIP LIST3_CHIP
NM_FEUIL1_LIST3_MERGE LIST3_MERGE
NM_FEUIL2_LIST1 LIST1
NM_FEUIL2_LIST1_CHIP LIST1_CHIP
NM_FEUIL2_LIST1_MERGE LIST1_MERGE
Etc...

Est-il possible de déclarer les variables du tableau colonne 2 autrement que:
Dim LIST1 As Range, LIST1_CHIP As Range, LIST1_MERGE As Range, etc..
Set LIST1 = Range("NM_FEUIL1_LIST1")
Set LIST1_CHIP = Range("NM_FEUIL1_LIST1_CHIP")
Etc...

Peut on simplifier la procédure de déclaration des variables?
If ActiveSheet.Name = "FEUIL1" Then
Set MaVariableLIST (ligne N , colonne 2) = MonRangeNOM (ligne N, Colonne 1)
End If

Merci d'avance pour vos conseils et exemples!
PMG
 
Boujour le forum, @Staple1600 , @vgendron,

Merci pour votre retour! Effectivement je m'en doutais un peu!
Après maintes réflexions, je suis reparti d'une feuille vierge et j'ai pris le problème à l'envers.

J'ai mis des listes au hasard dans 3 feuilles et la procédure doit retrouver les données concernant la liste en question.
La solution marche, mais il y a certainement moyen de l'améliorer! J'ai fais cela avec mes connaissances d'autodidacte.
 

Pièces jointes

En PJ, une proposition avec des tables structurées

après.. LA question.. à quoi servent toutes ces listes? pourquoi ne pas les mettre à un endroit unique?
Merci pour ton fichier, effectivement le code et les tableaux structurés sont rudement efficaces!

Mon [futur] fichier comporte des cellules fusionnées, car il y a beaucoup de cellules qui sont reliées avec des arborescences de lignes pour la compréhension visuelle. Donc un range = 2 lignes dans mes listes rendant les tableaux structurés illisibles sur ces feuilles.

Les 25 pages, c'est un menu subdivisé en 5 x 5 et dans chaque page il y a des listes, qui une fois sélectionnées, font apparaitre ou non des informations.

Le but de ce fichier est de créer une procédure unique pour toutes les listes en tenant compte uniquement des noms du gestionnaire et de la feuille active.

Je ne sais pas si c'est très clair, en tout cas merci je vais m'en inspirer pour la suite
 
Bonjour le Fil, le forum,

Du coup, ayant compris un peu tard [avec de l'aide] que les noms du gestionnaire pouvaient être utilisé comme des Objects/Names, j'ai simplifié le code. Je le poste au cas ou cela intéresse qqun.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour