Microsoft 365 Extractions de données avec plusieurs critères de recherches

Thierry29280

XLDnaute Nouveau
Bonsoir,

Je cherche à savoir comment faire pour extraire des données dans une base, en mettant 2 critères obligatoires pour cette recherche.

L'extraction doit se faire sur le prénom du père et le nom de la mère. Voir possibilité de rajouté un 3eme critère. J'ai trouvé des tutos pour recherche sur 1 critère mais pas trouvé pour plus. L'extraction doit être faite sur un autre formulaire, possibilité d'avoir plusieurs enregistrements pour une recherche.
Merci de votre aide si possible.

Thierry
 

Pièces jointes

  • Test.xlsx
    11.6 KB · Affichages: 11

Deadpool_CC

XLDnaute Accro
pour reformuler ma compréhension de la demande

dans une "Feuil2" en A1 ont a une liste déroulante avec les prénoms des pères (colonne C) et en B1 une liste déroulante des noms de la mère (Colonne F). l'utilisateur fait un choix pour les deux et on copie sur la feuil2 toutes les données des lignes de la feuil1 pour lesquelles la correspondance des 2 critères est vérifiée ... (critère 1 ET critère 2 vérifiés).
c'est bien cela ?

ps: j'avais pas vu l'heure ..; je repasse demain pour votre réponse.
 

Thierry29280

XLDnaute Nouveau
pour reformuler ma compréhension de la demande

dans une "Feuil2" en A1 ont a une liste déroulante avec les prénoms des pères (colonne C) et en B1 une liste déroulante des noms de la mère (Colonne F). l'utilisateur fait un choix pour les deux et on copie sur la feuil2 toutes les données des lignes de la feuil1 pour lesquelles la correspondance des 2 critères est vérifiée ... (critère 1 ET critère 2 vérifiés).
c'est bien cela ?

ps: j'avais pas vu l'heure ..; je repasse demain pour votre réponse.
Bonsoir
Oui c'est ça dans l'idée générale. Mais en relisant ce que vous avez noté en demande je m'apercois que j'ai fais une erreur, il me faut le Nom (colonne B), les prénoms des pères (colonne E et pas C) et nom de la mère (colonne F) si possible d'avoir les 3, sinon ne faire que colonne B et F
Pas de souci, je ne suis pas au jour près.

Merci encore de votre aide
 

Thierry29280

XLDnaute Nouveau
Bonjour et bienvenu sur Excel Downloads

Ci joint ma solution
on peut ensuite en cliquant sur une ligne du listbox remplir une ligne...

A+ François
Bonsoir
Je trouve bien votre solution, elle peut sans doute être améliorer, je vais déjà voir comment c'est réaliser pour intégrer le Nom en colonne B en plus des 2 autres critères.

Merci en tout cas de votre aide
Bonne soirée
 

Thierry29280

XLDnaute Nouveau
Bonsoir
Oui c'est ça dans l'idée générale. Mais en relisant ce que vous avez noté en demande je m'apercois que j'ai fais une erreur, il me faut le Nom (colonne B), les prénoms des pères (colonne E et pas C) et nom de la mère (colonne F) si possible d'avoir les 3, sinon ne faire que colonne B et F
Pas de souci, je ne suis pas au jour près.

Merci encore de votre aide

Bonsoir
Je trouve bien votre solution, elle peut sans doute être améliorer, je vais déjà voir comment c'est réaliser pour intégrer le Nom en colonne B en plus des 2 autres critères.

Merci en tout cas de votre aide
Bonne soirée
bonsoir

comment je peux changer la colonne de recherche svp
merci
 

fanfan38

XLDnaute Barbatruc
Bonjour

VB:
Sub aff_listbox()
  Dim c As Range, firstAddress As String, j As Byte 'déclaration des variables
    Me.ListBox1.Clear 'on efface le listbox
    Me.ListBox1.ColumnCount = [T_data].Columns.Count 'on affecte le nombre de colonne
    With [T_data[Prénom père]] 'avec la base de données T_Data dans la colonne Prénom père
        Set c = .Find(Me.ComboBox1, LookIn:=xlValues, lookat:=xlWhole) 'on recherche le combobox1
        If Not c Is Nothing Then 'si trouvé
            firstAddress = c.Address 'on enregistre l'adresse
            Do'boucle
'si nom de la mere identique au combobox2
             If [T_data[Nom mère]].Item(c.Row - 1) = Me.ComboBox2.Value Then
               Me.ListBox1.AddItem [T_data].Item(c.Row - 1, 1) 'on ajoute au listbox la ligne
               For j = 1 To [T_data].Columns.Count - 1
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, j) = [T_data].Item(c.Row - 1, j + 1)
               Next
             End If
             Set c = .FindNext(c) 'on continue la recherche du prenom du pere
             If c.Address = firstAddress Then Exit Do 'si on revient à la premiere adresse on quitte
            Loop While Not c Is Nothing 'tant que l'on trouve le prenom du pere on continue la boucle
        End If
    End With
End Sub
A+ François
 

Thierry29280

XLDnaute Nouveau
Bonjour

VB:
Sub aff_listbox()
  Dim c As Range, firstAddress As String, j As Byte 'déclaration des variables
    Me.ListBox1.Clear 'on efface le listbox
    Me.ListBox1.ColumnCount = [T_data].Columns.Count 'on affecte le nombre de colonne
    With [T_data[Prénom père]] 'avec la base de données T_Data dans la colonne Prénom père
        Set c = .Find(Me.ComboBox1, LookIn:=xlValues, lookat:=xlWhole) 'on recherche le combobox1
        If Not c Is Nothing Then 'si trouvé
            firstAddress = c.Address 'on enregistre l'adresse
            Do'boucle
'si nom de la mere identique au combobox2
             If [T_data[Nom mère]].Item(c.Row - 1) = Me.ComboBox2.Value Then
               Me.ListBox1.AddItem [T_data].Item(c.Row - 1, 1) 'on ajoute au listbox la ligne
               For j = 1 To [T_data].Columns.Count - 1
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, j) = [T_data].Item(c.Row - 1, j + 1)
               Next
             End If
             Set c = .FindNext(c) 'on continue la recherche du prenom du pere
             If c.Address = firstAddress Then Exit Do 'si on revient à la premiere adresse on quitte
            Loop While Not c Is Nothing 'tant que l'on trouve le prenom du pere on continue la boucle
        End If
    End With
End Sub
A+ François
Merci je vais essayer ca
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Je me suis amusé à adapter un outil Power Query (inclus dans excel 365) de recherche que j'avais fait pour un autre fil à votre situation.

Vous pouvez choisir les colonnes dans lesquelles vous voulez chercher.
Vous pouvez employer des modes de comparaisons différents :
  • est égal à
  • contient
  • liste contient tous
  • liste contient certains
  • commence par
  • finit par
  • supérieur à
  • inférieur à
Pour les listes (de mots) voir l'exemple dans le fichier.

La colonne 'Lien' du tableau de critères sert à lier une ligne de critère à la suivante par un Et ou un Ou, au choix (ET par défaut)

Pour ajouter des lignes de critères, comme le tableau est un tableau structuré, il suffit de lui ajouter une ligne.


Cordialement
 

Pièces jointes

  • Recherche Power Query.xlsm
    38.4 KB · Affichages: 13

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 323
Membres
102 862
dernier inscrit
Emma35400