recheche 1 condition renvoi plusieurs données

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 !

limagerit

XLDnaute Occasionnel
Bonjour à tous ,

je cherche a extraire des données d'une base mais visiblement la formule recherche V me renvoi toujours la meme valeur.
j'ai essayé avec la fonction index mais je trouve le même résultat

je suis preneur de vos bonnes idées
ci joint le fichier avec les détails .

Merci de votre aide
 
Dernière édition:
Re : recheche 1 condition renvoi plusieurs données

Bonsoir,

Les seules formules recherchev que je trouve sont dans le tableau de la feuille liste.

Le fichier joint est-il un pas vers ce que tu désires ? (on modifie la valeur en B3 de la feuille liste et les pièces s'affichent?)

Les formules sont des formules matricielles.
Formule matricielle. Elle doit être validée par la combinaison des touches Ctrl+Maj+Entrée au lieu de la seule touche Entrée comme une formule classique. Si la validation matricielle est correcte, alors Excel entoure la formule d'accolades {=.......}.
Chaque fois que cette formule sera modifiée, la validation devra se faire par Ctrl+Maj+Entrée. Les accolades apparaissent à la validation et ne doivent pas être saisies au clavier.
Edit : d'après ton dernier message à priori la réponse serait OUI.
 

Pièces jointes

Dernière édition:
Re : recheche 1 condition renvoi plusieurs données

Bonsoir le fil, bonsoir le forum,

Une proposition VBA sans aucune formule avec le macro événementielle Change ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range 'déclare la variable r (Recherche)
Dim pa As String 'déclare la variable pa (Première Adresse)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)

If Target.Address = "$B$3" Then 'condition 1 : si le changement a lieu dans la cellule B3
    Range("A7:C23").ClearContents 'supprime les anciennes données de la plage A7:C23
    If Target.Value = "" Then Exit Sub 'si B3 est effacée, sort de la procédure
    Set r = Sheets("plan").Columns(1).Find(Target.Value, , xlValues, xlWhole) 'définit la recherche r
    If Not r Is Nothing Then 'condition 2 : si il existe au moins une occurrence
        pa = r.Address 'définit la première adresse pa
        Do 'exécute
            Set dest = Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0) 'définit la cellule de destination
            dest.Value = r.Offset(0, 1).Value 'récupère le PK
            dest.Offset(0, 1).Value = r.Offset(0, 2).Value 'récupère la Zone
            dest.Offset(0, 2).Value = r.Offset(0, 3).Value 'récupère la Pièce
            Set r = Sheets("plan").Columns(1).FindNext(r) 'redéfinit la recherche r (occurrence suivante)
        Loop While Not r Is Nothing And r.Address <> pa 'boucle tant qu'il existe des occurrence ailleurs qu'en pa
    Else 'sinon (condition 2)
        MsgBox "Aucune donnée trouvé pour la semaine " & Target.Value & " !" 'message
    End If 'fin de la condition 2
End If 'fin de la condition 1
End Sub
le fichier :

 

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