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

XL 2013 matrice ou pas matrice

patricktoulon

XLDnaute Barbatruc
bonjour à tous
j'ai pris la/ les formule(s) d'un autre exercice (formule données pas @Lolote83 et @M12 ) pour adapter a celui ci
j'explique
j'ai un name me fournissant une matrice des noms de feuille du classeur

le name
nom : "mesfeuilles"
refTo: =TRANSPOSE(REMPLACER(LIRE.CLASSEUR(1);1;TROUVE("]";LIRE.CLASSEUR(1));""))

dans un tableau structuré nom : "Listfeuilles"
je met la formule en première ligne =SIERREUR(INDEX(mesfeuilles;LIGNE(A1));"")
j'obtiens ma liste de feuille du classeur

dans un autre tableau nom: "tablistfiltree"
je filtre(avec une formule Matricielle ) le tableau listfeuille par (commence par et termine par) les préfixes et suffixes sont en b2 et b3
=SIERREUR(INDEX($D$3:$D$29;PETITE.VALEUR(SI(GAUCHE($D$3:$D$29;NBCAR($B$2)) & DROITE($D$3:$D$29;NBCAR($B$3))=$B$2&$B$3;LIGNE($D$3:$D$29)-2);LIGNES($2:2)));"")
jusque la tout va bien j'ai ma liste filtrée

j'ai deux autres tableaux dans les quels avec la même formule et même raisonnement j'essaie de filtrer directement la matrice du name
mais ça ne marche pas

des idées ?
je joins un classeur démo
 

Pièces jointes

  • formule lister les feuille d'un classeur.xlsm
    18.7 KB · Affichages: 12
Solution
Bonjour @patricktoulon et à tous les autres,

Je ne me suis intéressé qu'à la formule en H2.
Suivant les versions (d'Excel pas de windows ), il faut valider la formule en matricielle ou non.

La formule :
VB:
=SIERREUR(INDEX(mesfeuilles;PETITE.VALEUR(SI(GAUCHE(mesfeuilles;NBCAR($B$2))&DROITE(mesfeuilles;NBCAR($B$3))=$B$2&$B$3;EQUIV(mesfeuilles;mesfeuilles;0));LIGNE()-LIGNE($H$2)));"")

Gégé-45550

XLDnaute Accro
Bonsoir patricktoulon
Un début de piste ?
 

Pièces jointes

  • formule lister les feuille d'un classeur (Gégé45550).xlsm
    26.5 KB · Affichages: 4

patricktoulon

XLDnaute Barbatruc
re
et de plus je viens de me rendre compte que je ne suis pas obligé de transposer dans la formule du name"mesfeuilles"

name="mesfeuilles2"
refTo: =REMPLACER(LIRE.CLASSEUR(1);1;TROUVE("]";LIRE.CLASSEUR(1));"")

je sélectionne une plage (1 colonne sur x lignes ) et
je met cette formule
=SIERREUR( INDEX( mesfeuilles2; LIGNE(A1:A100) );"")
je valide en matriciel et ça match j'ai ma liste de feuille du classeur

si je ne veux pas lister en matriciel
dans une cellule je met
=SIERREUR(INDEX(mesfeuilles2;LIGNE(A1));"")
et j'étends la formule vers le bas

conclusion sans transposition dans le name j'ai le même résultat
en gros ca donne une matrice transgénique quoi

ben c'est pas gagné hein
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @patricktoulon et à tous les autres,

Je ne me suis intéressé qu'à la formule en H2.
Suivant les versions (d'Excel pas de windows ), il faut valider la formule en matricielle ou non.

La formule :
VB:
=SIERREUR(INDEX(mesfeuilles;PETITE.VALEUR(SI(GAUCHE(mesfeuilles;NBCAR($B$2))&DROITE(mesfeuilles;NBCAR($B$3))=$B$2&$B$3;EQUIV(mesfeuilles;mesfeuilles;0));LIGNE()-LIGNE($H$2)));"")
 

Pièces jointes

  • PatrickToulon - formule lister les feuille d'un classeur- v1.xlsm
    19.7 KB · Affichages: 4
Dernière édition:

Discussions similaires

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