-
Oui Pierre tu as cerné mon problème.
Je suis pas hyper calé en Vba mais je comprends qu'il est compliqué conserver la valeur de toutes mes valeurs présentent dans ma liste "maitre".
"Une autre technique" ?
Une liste indirecte, nécessite elle vraiment de nommer des zones ?
Eric parlait d'une recherche. Mais je ne vois pas bien comment faire.
Rechercher dans quelle colonne et l'entête de ma liste maitre puis afficher une liste des 20 valeurs en dessous ???
Je crois qu'une révision manuelle s'imposera !!
ps: Pierre j'ai testé ta solution avec la boucle sur les noms de plage.
Sa marche plutot bien. Pourquoi pas ne pas lancer cette boucle avec un bouton que l'on exécuterai de temps en temps.
-
Bonjour,
j'avais suivi Pierre.
Mais je n'ai jamais eu de liste en cascade qui nécessite une telle gymnastique.
2 noms doivent mener à la même liste, et bien je mets les 2 noms sur la même plage.
D'où mon interrogation sur le besoin exact.
eric
-
NON !!
j'ai des produits:
- Pomme verte colonne A
- Orange colonne B
- Téléphone colonne C
Des sous-catégories:
pour pomme verte:
- fournisseur 1 cellule A2
- fournisseur 2 cellule A3
pour Orange:
- Client 1 cellule B2
- Client 2 cellule B3
Dans les sous-catégories, il n'y a jamais de doublon (toutes les sous catégories confondues).
Pomme verte et la valeur de la cellule A1 ET le nom de la plage de A 2 à A 10 par exemple.
Si je change Pomme verte par Pomme jaune (l'exemple est vraiment pourri).
La macro que j'ai, créer un nouveau nom, "pomme jaune" avec la plage A 2 à A 10.
"A2 : A 10 " a donc bien deux noms différents.
Finalement je vais rajouter une nouvelle catégorie maitre "Pomme verte"
En cellule D1 (liste maitre) j'enregistre la nouvelle catégorie maitre.
La macro va nommer la plage D2 D 10 pomme verte.
ET LA, j'ai un problème, car j'ai vais créer deux listes avec le même nom qui porte sur deux zones différentes.
La liste va pointer sur la première plage trouvée qui s'appel pomme verte, et donc pas forcément la bonne.
Bien sur, tant que je ne recréé pas une catégorie qui a été supprimée par le passé, il n'y a pas de problème.
-
Ah, tu aurais dû me répondre "si elles changent" à "si tes plages par elles-mêmes ne changent pas" :-)
Tu peux aussi sur l'événement Change mémoriser le nouveau nom, récupérer l'ancienne valeur avec Application.Undo pour supprimer l'ancien nom et rétablir la saisie.
eric