Extraire toutes les occurrences

siocnarf

XLDnaute Occasionnel
Bonjour,

J'ai un tableau de logiciel (voir pièce jointe - Onglet Origine) et je souhaite extraire dans l'onglet "Extraction" toutes les noms de logiciels avec un R en colonne B. Je voudrais que le résultat final dans l'onglet extraction ne comporte pas de lignes vides. Je crois qu'on pourrait le faire avec une formule matricielle mais je ne visualise pas bien

J'ai juste tenté cette formule mais j'obtiens juste le résultat #N/A. J'imagine parce qu'il y a plus d'une fois la valeur R.
=RECHERCHEV("R";Origine!A1:B26;2;FAUX)

Je viens de tester également: {=INDEX(Origine!$A$8:$B$26;EQUIV("R";Origine!$B$1:$B$26;0);1)} mais la première valeur rencontrée est affiché et pas les autres... :(

Comment on règle ça?

Merci,
 

Pièces jointes

  • test.xls
    111.5 KB · Affichages: 30
  • test.xls
    111.5 KB · Affichages: 39
  • test.xls
    111.5 KB · Affichages: 29
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Extraire toutes les occurrences

Bonjour siocnarf,

Sans doute avec
Code:
=SIERREUR(INDEX(Origine!$A$1:$A$26;PETITE.VALEUR(SI(Origine!$B$1:$B$26="R";LIGNE(Origine!$A$1:$A$26));LIGNES($1:1)));"")
à valider avec Ctrl+Shift+Enter

... si le volume n'est pas trop conséquent
 

Dugenou

XLDnaute Barbatruc
Re : Extraire toutes les occurrences

Bonjour

Code:
=SI(LIGNE()>NB.SI(Origine!$B$1:$B$26;"R");"";INDEX(Origine!$A$1:$A$26;PETITE.VALEUR(SI(Origine!$B$1:$B$26="R";LIGNE(Origine!$B$1:$B$26));LIGNE())))

valider en matriciel puis recopier vers le bas

si dans votre vrai fichier la liste contient une ligne de titre il faut changer le ligne()
par contre quel que soit l'emplacement des données(par exemple Origine!$B$8:$B$35, la zone de l'index commence toujours en ligne 1 (soit INDEX(Origine!$A$1:$A$35...)

Cordialement

Edit : Salut Modeste ! :) sierreur ? dans un fichier xls ??:p
 

siocnarf

XLDnaute Occasionnel
Re : Extraire toutes les occurrences

Bonjour,

Je viens de relire votre commentaire. Dans mon fichier d'origine, mes valeurs débutent en ligne 3. Donc j'ai deux lignes de titres. Comment cela devrait-il se répercuter dans ligne()?

Effectivement, si dans l'onglet origine, j'ajoute 2 lignes alors mes valeurs dans l'onglet extraction sont décalés. Les premières n'apparaitront pas.

Voir test2.xls en pièce jointe.
 

Pièces jointes

  • test2.xls
    100.5 KB · Affichages: 31
  • test2.xls
    100.5 KB · Affichages: 35
  • test2.xls
    100.5 KB · Affichages: 32
Dernière édition:

siocnarf

XLDnaute Occasionnel
Re : Extraire toutes les occurrences

Bonjour,

Ligne actuelle:

=SIERREUR(INDEX(Origine!$A$3:$A$28;PETITE.VALEUR(SI(Origine!$B$3:$B$28="R";LIGNE(Origine!$A$3:$A$28));LIGNES($1:1)));"")

Ligne que vous proposée:

=SIERREUR(INDEX(Origine!$A$3:$A$28;PETITE.VALEUR(SI(Origine!$B$3:$B$28="R";LIGNE(INDIRECT("1:"&LIGNES(!$A$3:$A$28)))
;LIGNES($1:1)));"")

Il y a une erreur dans votre proposition mais je ne la voit pas bien.
 

siocnarf

XLDnaute Occasionnel
Re : Extraire toutes les occurrences

Bonjour,

Cela semble effectivement fonctionner.
{=SIERREUR(INDEX(Origine!$A$3:$A$28;PETITE.VALEUR(SI(Origine!$B$3:$B$28="R";LIGNE(INDIRECT("1:"&LIGNES($A$5:$A$30))));LIGNES($3:3)));"")}

Merci,

François Racine
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 205
Membres
103 157
dernier inscrit
youma