Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupération de plages nommées

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 !

Magic_Doctor

XLDnaute Barbatruc
Supporter XLD
Bonjour,

J'ai une feuille avec une grande plage de cellules qui se nomme "Zone".
Dans cette plage "Zone", et uniquement à l'intérieur de celle-ci, il existe d'autres plages de cellules, elles aussi nommée : "SousZone1", "SousZone2", "SousZone3",...
Par quel moyen pourrait-on récupérer la liste de toutes les "SousZones" contenues dans "Zone" ?

Merci d'avance pour tout tuyau.
 

Pièces jointes

Re : Récupération de plages nommées

Bonjour Magic_Doctor,

Voici une copie de ton fichier modifié.

Un click sur le bouton en feuille 1 te donnera les noms des sous-plages.

Je n'ai pas trouvé le moyen de déterminer ces noms en fonction d'une plage, ni même d'une seule feuille : cette commande agit par défaut sur tous les noms contenus dans le classeur.

Espérant quand même avoir aidé.

Cordialement.
 

Pièces jointes

Re : Récupération de plages nommées

Buenas dias Magic 🙂,
Code:
Sub test()
Dim Zones As Names, I As Byte
Set Zones = ActiveWorkbook.Names
For I = 1 To Zones.Count
If Zones(I).Name <> "Zone" Then
If Not Intersect(Range("Zone"), Range(Zones(I).Name)) Is Nothing Then
MsgBox Zones(I).Name
End If
End If
Next I
End Sub
por ejemplo 😛
buen fin de semana 😎
Ajout : Bonjour Papou-net 🙂
 
Re : Récupération de plages nommées

Bonjour Papou-net, buenos días JNP,

Vos solutions marchent très bien.
J'aurais un faible pour celle de JNP.
Quoi qu'il en soit, n'utilisant pas de MsgBox, comment s'y prendrait-on pour que toutes ces "SousZones" apparaissent sur une colonne quelque part sur la feuille (en dehors de "Zone" bien entendu) ?
Merci d'avance pour le tuyau.

Y a tí también JNP buen fin de semana. Acá en Montevideo, como casi siempre, tiempo espantoso.
 
Re : Récupération de plages nommées

En fait, c'était simple.
Routine de JNP modifiée :

Où "ListeSousZones" est le nom de l'en-tête de la colonne où sont répertoriées les différentes "SousZones".

Je me rends compte qu'avec la solution de Papou-net, certes plus concise, tout ce qui est nommé (cellules individuelles ou plages), en dehors de "Zone" est répertorié.
 

Pièces jointes

Re : Récupération de plages nommées

Bonsoir,

Je reviens sur le sujet car je ne parviens pas à adapter la macro de JNP pour répertorier des "SousZones" qui se trouvent dans différentes feuilles. Chaque feuille a sa propre "Zone" (feuille1 --> "Zone1" / feuille2 --> "Zone2"....). Dans chaque zone il y a plusieurs "SousZones".
Cependant le lancement du "répertoriage" se fait à partir d'une feuille indépendante où se trouve aussi la colonne qui recueille les "SousZones" que l'on recherche.
 

Pièces jointes

Dernière édition:
Re : Récupération de plages nommées

Re 🙂,
Ici aussi, il fait moche 😛...
Pas évident de suivre ton code (c'est pour cela que je n'utilise Evaluate que dans certains cas de figure 🙄)...
Quelque chose du style
Code:
    If zones(i).Name <> zone.Name.Name And zones(i).Parent.Name = zone.Parent.Name Then
devrait éviter de comparer 2 zones sur des feuilles différentes 😉...
Bonne soirée 😎
 
Re : Récupération de plages nommées

Bonjour,

Je reviens sur ce fil car la solution peut être perfectible, à savoir que lors du listage des "SousZones" avec cette méthode, celles-ci, dans la liste, ne se succèdent pas forcément selon un ordre cohérent. En effet, "idéalement" je voudrais que cette classification se fasse logiquement, c'est-à-dire de gauche à droite et de haut en bas de la feuille.
Serait-ce possible ? Sûrement j'imagine, mais comment ?

Le meilleur exemple se trouvant dans la feuille intitulée "Divers" (avec 5 "SousZones").

Un grand merci pour toute intervention.
 

Pièces jointes

Re : Récupération de plages nommées

Bonjour


En utilisant la méthode préconisée par hoerwind dans le message #5
ma proposition pour lister les noms
Code:
Sub Macro1()
Dim tableau, i
    Range("IU1").ListNames
    tableau = [IU1].CurrentRegion.Value
    [IU1].CurrentRegion.Clear
    For i = 1 To UBound(tableau)
    MsgBox tableau(i, 1) & ":" & tableau(i, 2)
    Next i
End Sub
 
Re : Récupération de plages nommées

Bonjour à tous,

job, si dans un précédent fil je ne t'ai pas encore remercié pour ton aide précieuse (et le mot n'est pas exagéré !), c'est qu'avant d'y revenir je tenais d'abord à résoudre ce problème, qu'il m'aurait été tout simplement impossible de le faire par moi-même.
En tout cas merci à tous. La solution de pierrejean fait parfaitement l'affaire ; celle de job peut elle aussi être intéressante dans une autre situation. En conséquence, 2 solutions à conserver si le besoin se présente, car pas évidentes du tout !

Bonne journée à tous
 
- 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

A
Réponses
11
Affichages
2 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…