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

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 !
 

phlaurent55

Nous a quittés en 2020
Repose en paix
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: 110
  • 111.jpg
    111.jpg
    19.2 KB · Affichages: 102

Kasano

XLDnaute Nouveau
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 :p
 

Pièces jointes

  • Kasano Cas.xls
    38 KB · Affichages: 68
  • Kasano Cas.xls
    38 KB · Affichages: 62
  • Kasano Cas.xls
    38 KB · Affichages: 60
  • Kasano Cas1.xlsx
    38.2 KB · Affichages: 43

Paf

XLDnaute Barbatruc
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+
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
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

  • Kasano Cas.xls
    51.5 KB · Affichages: 65
  • Kasano Cas.xls
    51.5 KB · Affichages: 71
  • Kasano Cas.xls
    51.5 KB · Affichages: 69
Dernière édition:

Discussions similaires

Réponses
2
Affichages
270

Statistiques des forums

Discussions
312 164
Messages
2 085 877
Membres
103 009
dernier inscrit
dede972