Microsoft 365 Rechercher des données

trekkeur50

XLDnaute Junior
Bonjour,
Je dois ramener des données présentes dans une feuille excel sur une autre feuille.
Dans la façon ou est structuré mon fichier, je ne crois pas que les fonctions habituelles de recherche puissent fonctionner (rechercherv,index,equiv,...)
J'ai joint un fichier pour que mes explications soient plus claires

Merci de votre aide
 

Pièces jointes

  • Test.xlsm
    10.1 KB · Affichages: 15

chris

XLDnaute Barbatruc
Bonjour à tous

Une solution PowerQuery (intégré à ta version Excel)

Elle calcule aussi la liste déroulante où on ne doit pas avoir 1 million de lignes avec des doublons et des vides.

J'ai ajouté deux lignes de codes pour que tout soit automatisé
 

Pièces jointes

  • ExtraitFiltre.xlsm
    28.3 KB · Affichages: 12
Dernière édition:

excfl

XLDnaute Barbatruc
Bonjour le forum,

Feuille " Formule" :

A4 :
VB:
=SI(BDD!A2=$B$1;BDD!B2;"")

B4 :
Code:
=SI(BDD!A2=$B$1;BDD!C2;"")

Formules à tirer vers le bas.
Formules.png
 

patricktoulon

XLDnaute Barbatruc
bonjour
j'ai mis une liste de validation dans la cellule B1 du sheets formule
et dans l'evenement change j'ai mis ca
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, Ro&
    Application.EnableEvents = False
    On Error GoTo arret 'juste au cas ou il y aurait une erreur pour réenclencher les events
    [A4].Resize(Cells(Rows.Count, "A").End(xlUp).Row + 4, 3).ClearContents
    Set c = Sheets("BDD").Range("A:A").Find(Target.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        Ro = c.Row
        With Sheets("BDD")
            With .Range("A" & Ro, .Cells(Rows.Count, "c").End(xlUp))
                .AutoFilter Field:=1, Criteria1:=Target.Value
                .Copy Destination:=[A4]
            .AutoFilter
            End With
        End With
    End If
arret:
Err.Clear
Application.EnableEvents = True
End Sub
pour la liste de validation sans doublons je ne sais pas faire peut être que quelqu'un sait faire ca m’intéresse en tout cas
en tout cas quand tu sélectionne une ref tu a ta liste

edit: et si tu veux que magasin et stock(vente dans BDD)
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, Ro&
    Application.EnableEvents = False
    On Error GoTo arret 'juste au cas ou il y aurait une erreur pour réenclencher les events
    [A4].Resize(Cells(Rows.Count, "A").End(xlUp).Row + 4, 3).ClearContents
    Set c = Sheets("BDD").Range("A:A").Find(Target.Value, LookIn:=xlValues)
    If Not c Is Nothing Then
        Ro = c.Row
        With Sheets("BDD")
            With .Range("A" & Ro, .Cells(Rows.Count, "c").End(xlUp))
                .AutoFilter Field:=1, Criteria1:=Target.Value
              .Columns(1).Hidden = True
             .Copy Destination:=[A4]
             .AutoFilter
            .Columns(1).Hidden = False
            End With
        End With
    End If
arret:
Err.Clear
Application.EnableEvents = True
End Sub
 

Pièces jointes

  • Test V pat .xlsm
    16 KB · Affichages: 4
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16