Recherche d'une liste suivant critères

Bonsoir

Je souhaite faire une recherche de liste de mots suivant un cripère. Ci joint le fichier test.

Merci pour l'aide

Cdlt

JA

Bonsoir Tacentaure, bonsoir le forum,

Par formule je ne sais pas faire. Si une proposition VBA peut convenir, regarde ton fichier en pièce jointe avec le code ci-dessous :

Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim TL() As Variant 'déclare la variable TL (Tableau des Lignes)

If Target.Address <> "$H$12" Then Exit Sub 'si le changement a lieu ailleurs qu'en H12 sort de la procédure
TV = Range("C10").CurrentRegion 'définit la tableau des valeurs TV
For I = 1 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV
    If TV(I, 1) = Target.Value Then 'ai la donnée ligne I colonne 1 de TV est égale à la cellule modifiée (H12)
        J = J + 1 'incrémente J
        ReDim Preserve TL(1 To J) 'redimensionne le tableau des lignes TL
        TL(J) = TV(I, 2) 'définit la valeur de TL(J) 'la donnée en ligne I colonne 2 de TV
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
Range("H14").CurrentRegion.ClearContents 'efface les ancienne valeurs à partir de H14
Range("H14").Resize(J, 1).Value = Application.Transpose(TL) 'renvoie le tableau TL transposé dans H14 redimensionnées
End Sub

Bonjour,
Salut ThauThème

Par formule, on peut essayer :

=SIERREUR(INDEX($D$10:$D$19;PETITE.VALEUR(SI($C$10:$C$19=$H$12;LIGNE($C$10:$C$19)-9);LIGNES($1:1)));"")

en H14, puis recopier vers le bas

Bonjour

Tout d'abord merci pour les réponses. Les deux fonctionnes à merveille. J'avoue préférer un peu plus les formules au code VBA car mon niveau est vraiment très bas, même si les explications claires de Thau Thème m'ont permis de mieux comprendre la formulation....et avouer que c'est quand même très bien .

Petite question si je souhaite rechercher aussi une valeur en colonne B est il possible de l'ajouter ou c'est impossible a faire ?

INDEX($D$10:$D$19;PETITE.VALEUR(SI($C$10:$C$19=$H$12;LIGNE($C$10:$C$19)-9);LIGNES($1:1)))

+ ou ou

INDEX($D$10:$D$19;PETITE.VALEUR(SI($B$10:$B$19=$H$12;LIGNE($B$10:$B$19)-9);LIGNES($1:1)))

Merci et bonne aprem

JA

Re-bonjour,

Petite question si je souhaite rechercher aussi une valeur en colonne B est il possible de l'ajouter ou c'est impossible a faire ?

Désolé, mais je ne comprends pas ta question !? Tu peux développer et/ou illustrer ? (sauf si quelqu'un d'autre peut répondre)

bonjour

doit on comprendre que tu cherches a extraire en fonction de 2 critères

auquel cas , remets une pièce jointes pour en être certain

cordialement

Bonsoir

Ci joint le fichier test , qui il est vrai est beaucoup plus explicite :-)

cdlt

Ja

re

donc voila

cordialement

5tacentaure-2.xlsm (17.19 Ko)
Rechercher des sujets similaires à "recherche liste suivant criteres"