Rechercher toutes les lignes d'une matrice contenant une partie de chaîne
Bonjour,
Je cherche à trouver une formule (à priori matricielle) qui me permette de récupérer l'ensemble des lignes qui contienne une partie de chaine.
Je m'explique:
en B5 j'ai "Ceci est le contenu n°1"
en B6 j'ai "La un autre texte n°1"
en B7 j'ai "Et encore un différent n°1"
en B8 j'ai "Ceci est le contenu n°2"
en B9 j'ai "Vraiment plein de textes différent n°1"
en B10 j'ai "Bon on va arrêter là les textes différents n°1"
en B11 j'ai "Ceci est le contenu n°3"
Avec une formule du genre
Code:
=SI(STXT(B5;1;22)="Ceci est le contenu n°";LIGNE(B5);"")
en D5 étendue à D11, j'obtient le n° de ligne qui contient la partie de texte recherchée sur la ligne concernée.
Ensuite je peut créer un filtrage sur la colonne D, ne pas afficher les cellules vides et recopier la plage qui contient des données en D sur une autre fauille pour ce que j'ai à faire sur ces lignes, mais ça sent le bricolage et je ne suis pas super satisfait de cette solution (ça sent la frustration due à un bricolage).
Ce que je voudrais c'est avoir en D5: 5 (parce que B5 contient le texte), en D6: 8 (parce que B8 contient le texte) et en D7: 11 (parce que B11 contient le texte).
J'ai donc essayé (en entrant de manière matricielle Ctrl+Maj+Entrée) la formule suivante en D5
Code:
=SI(STXT(INDIRECT("B5" & ":B"& EQUIV("ZZZ";B:B));1;22)="Ceci est le contenu n°";LIGNE(INDIRECT("B5" & ":B"& EQUIV("ZZZ";B:B)));"")
Ça me trouve bien la première occurrence dans la matrice, mais, malgré de nombreux exemples sur le net, je ne vois pas comment faire pour que la formule en D6 cherche l’occurrence suivante à celle trouvée en D5.....
Si quelqu'un peut me donner un petit coup de main, ce serait sympa.
numérotage des lignes contenant une partie de chaine
Bonjour, essayez:
$D$3 valeur cherchée
en C5
Code:
=SI(ESTERREUR(CHERCHE($D$3;B5));"";LIGNE())
en D5
Code:
=SI(ESTERREUR(PETITE.VALEUR($C$5:$C$11;1));"";PETITE.VALEUR($C$5:$C$11;1))