XL 2019 Faire apparaître une liste de valeur si les conditions sont remplis

  • Initiateur de la discussion Initiateur de la discussion C.G
  • Date de début Date de début

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 !

C.G

XLDnaute Nouveau
Bonjour à tous,
Je me perds dans les formules alors que je penses que la solution doit être plutôt simple... Pourriez vous m'aider ?

Contexte
Colonne A : une liste de mot (un peu plus de 50, possible que d'autres s'ajoutent)
Colonne B : un chiffre, 1, 2 ou 3, qui donne une info sur le mot de la colonne A correspondant
Colonne C : un chiffre (5 possibilités uniquement), qui donne aussi une info sur le mot de la colonne A correspondant

Ambition
Je voudrais que, dans une cellule choisie, apparaissent la liste de tous les mots ayant les mêmes infos. Par exemple, tous les mots ayant 1 en colonne B et 5 en colonne C.
Donc quelque chose comme Si B=1 et C=5, alors faire apparaitre la liste des mots en A correspondant, et donc apparaîtrait dans la cellule mot1, mot2, mot3...
Est ce possible ?

Merci beaucoup pour votre aide!
 
Solution
Bonjour C.G. et bienvenu sur XLD,
Un petit fichier test eût été le bienvenu, cela aurait éviter de se le retaper.
En PJ un essai avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("G2:H2")) Is Nothing Then
        Dim DL%, Liste, B, C, i%, L%
        Application.ScreenUpdating = False
        [J:J].ClearContents
        DL = Range("A65500").End(xlUp).Row
        Liste = Range("A1:C" & DL)
        B = [G2]: C = [H2]: L = 1
        For i = 1 To UBound(Liste)
            If Liste(i, 2) = B And Liste(i, 3) = C Then
                Cells(L, "J") = Liste(i, 1)
                L = L + 1
            End If
        Next i
    End If
End Sub
Il suffit de modifier les...
Bonjour C.G. et bienvenu sur XLD,
Un petit fichier test eût été le bienvenu, cela aurait éviter de se le retaper.
En PJ un essai avec :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("G2:H2")) Is Nothing Then
        Dim DL%, Liste, B, C, i%, L%
        Application.ScreenUpdating = False
        [J:J].ClearContents
        DL = Range("A65500").End(xlUp).Row
        Liste = Range("A1:C" & DL)
        B = [G2]: C = [H2]: L = 1
        For i = 1 To UBound(Liste)
            If Liste(i, 2) = B And Liste(i, 3) = C Then
                Cells(L, "J") = Liste(i, 1)
                L = L + 1
            End If
        Next i
    End If
End Sub
Il suffit de modifier les cellules en jaune du filtre pour avoir la liste mise à jour.
 

Pièces jointes

- 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

Retour