Afficher une plage de données à partir d'une liste déroulante

  • Initiateur de la discussion Initiateur de la discussion Kasano
  • 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 !

Kasano

XLDnaute Nouveau
Hello le Forum,

J'ai essayé plusieurs formules mais rien n' y fait. Tout est dans le titre, en choisissant une gamme de produits dans ma liste déroulante je souhaiterais que les références de cette gamme de produits s'affichent.

La formule Index Equiv m'a permis de recenser ces informations. Toutefois, elle le fait mais uniquement dans l'ordre dans lequel est présenté les références des différentes gamme de produits disponible. Ainsi, si je choisis une gamme de produits dont les références sont disponibles à la cellule 100, alors la formule va copier 100 fois la cellule de la 100e réf puis afficher les autres cellules.

Je pense qu'il faut allier les formules LIGNE, DECALER, INDEX, EQUIV pour solutionner le problème mais je n'ai pas encore trouvé la logique. Je viens ainsi faire appel à vos lumières

Ci-dessous, le lien sur lequel trouvé le fichier exemple.
Ce lien n'existe plus

J'espère que vous pourrez m'aider à ce sujet car je sèche totalement.
Merci d'avance pour votre aide !
 
Re : Afficher une plage de données à partir d'une liste déroulante

Bonjour Kasano,

il m'est impossible d'ouvrir le fichier

111.jpg


à+
Philippe
 

Pièces jointes

  • 111.jpg
    111.jpg
    19.2 KB · Affichages: 111
  • 111.jpg
    111.jpg
    19.2 KB · Affichages: 103
Re : Afficher une plage de données à partir d'une liste déroulante

C'est étrange que ça ne s'ouvre pas... Cette fois ci je l'ai enregistré sous différents formats de Excel. Cela devrait fonctionné maintenant 😛
 

Pièces jointes

Re : Afficher une plage de données à partir d'une liste déroulante

Bonjour à tous

A tester, une proposition macro, à copier dans le module de la feuille EVOLUTION DES VENTES

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Evo As Worksheet, Ref As Worksheet, Ventes As Worksheet
 Dim RefLig As Long, VenteLig As Long, i As Long, J As Long, x As Long
 If Not Intersect(Target, Range("C3")) Is Nothing Then
    Set Evo = Worksheets("EVOLUTION DES VENTES")
    Set Ref = Worksheets("REF PRODUITS")
    Set Ventes = Worksheets("VENTES")

    RefLig = Ref.Range("A" & Rows.Count).End(xlUp).Row
    VenteLig = Ventes.Range("A" & Rows.Count).End(xlUp).Row
    x = 5
    For i = 4 To RefLig
        If Ref.Cells(i, 1) Like Evo.Range("C3") & "*" Then
            For J = 4 To VenteLig
            If Ref.Cells(i, 1) = Ventes.Cells(J, 1) Then
                x = x + 1
                Ventes.Range("B" & J & ":E" & J).Copy Evo.Range("A" & x)
                Exit For
            End If
            Next
        End If
    Next
 End If
End Sub

A+
 
Re : Afficher une plage de données à partir d'une liste déroulante

Bonsoir,

=SI(LIGNES($1:1)<=NB.SI(produit;$C$3 &"*");INDEX(bd;PETITE.VALEUR(SI(ESTNUM(CHERCHE($C$3;produit));LIGNE(INDIRECT("1:"&LIGNES(produit))));LIGNES($1:1));COLONNES($A:B));"")
valider avec maj+ctrl+entrée

cf PJ

JB
 

Pièces jointes

Dernière édition:
- 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

Réponses
10
Affichages
334
Retour