Recherche

Y compris Power BI, Power Query et toute autre question en lien avec Excel
c
carber20
Jeune membre
Jeune membre
Messages : 43
Inscrit le : 21 décembre 2014
Version d'Excel : 2013fr

Message par carber20 » 20 septembre 2019, 22:20

Voila je souhaite afficher un bouton de recherche dans la feuille calcule recherche qui me permet rechercher par nom , prénom mail, adresse, n°telephonne et qui me donne le resultat svp

dans la rubrique école
Adresse école
la colonne rev
NOM Prenom M@il N° téléphone
et la colonne animateur
NOM Prénom M@il N°téléphone



Fichier Contact Pole5.xlsx
(50.44 Kio) Téléchargé 6 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'207
Appréciations reçues : 651
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 21 septembre 2019, 00:08

Bon, on dit bonjour quand même ...

Pas de bouton,
Il suffit de mettre en ligne 3 un ou plusieurs critères pour que la liste s'affiche à partir de la ligne 6
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A3:K3")) Is Nothing Then Exit Sub
    If Application.CountA(Range("A3:K3")) = 0 Then
        Range("A5").CurrentRegion.Offset(1, 0).Clear
    Else
        Sheets("Pole 5").ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A2:K3"), CopyToRange:=Range("A5").CurrentRegion.Resize(1), Unique:=False
    End If
End Sub
Fichier Contact Pole5.xlsm
(59.41 Kio) Téléchargé 5 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'207
Appréciations reçues : 651
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 21 septembre 2019, 05:36

Une amélioration ... elle prend en compte une évolution de la base de données lors du retour sur l'onglet recherche
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A3:K3")) Is Nothing Then Exit Sub
    filtrer
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    filtrer
End Sub
Private Sub filtrer()
    If Application.CountA(Range("A3:K3")) = 0 Then
        Range("A5").CurrentRegion.Offset(1, 0).Clear
    Else
        Range("A5").CurrentRegion.Offset(1, 0).Clear
        Sheets("Pole 5").ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Range("A2:K3"), CopyToRange:=Range("A5").CurrentRegion.Resize(1), Unique:=False
    End If
End Sub
Fichier Contact Pole5.xlsm
(59.82 Kio) Téléchargé 4 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
c
carber20
Jeune membre
Jeune membre
Messages : 43
Inscrit le : 21 décembre 2014
Version d'Excel : 2013fr

Message par carber20 » 21 septembre 2019, 10:39

bonjour merci pour la proposition
je viens de tester j'ai remplis le nom prénom sur une adresse quand je fais recherche il m'affiche rien
c
carber20
Jeune membre
Jeune membre
Messages : 43
Inscrit le : 21 décembre 2014
Version d'Excel : 2013fr

Message par carber20 » 21 septembre 2019, 10:42

c'est bon ca marche tres bien je vais le tester sur une grande base
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'207
Appréciations reçues : 651
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 21 septembre 2019, 11:39

Parfait !

:btres:

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
c
carber20
Jeune membre
Jeune membre
Messages : 43
Inscrit le : 21 décembre 2014
Version d'Excel : 2013fr

Message par carber20 » 21 septembre 2019, 13:44

excuse moi je viens de faire sur un autre fichier j'ai copier le code comme tu la fais sur le premier fichier mais ça me fais erreur sur ligne 9
ca viens d'ou exactement j'ai changer dans le code pole 5 par pole 4 pareille

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A3:K3")) Is Nothing Then Exit Sub
If Application.CountA(Range("A3:K3")) = 0 Then
Range("A5").CurrentRegion.Offset(1, 0).Clear
Else
Sheets("Pole 5").ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A2:K3"), CopyToRange:=Range("A5").CurrentRegion.Resize(1), Unique:=False
End If
End Sub

je vous remercie par avance
Fichier Contact Pole4.xlsm
(59.57 Kio) Téléchargé 3 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'207
Appréciations reçues : 651
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 21 septembre 2019, 14:11

Pole_X est en tableau.
Et pour cela, afin d'éviter des noms de colonne identiques, j'ai changé quelques intitulés
NOM_R, Prenom_R, M@il_R, N° téléphone_R, NOM_A, Prénom_A, M@il_A, N°téléphone_A
et ensuite je suis passé en tableau de données
Fichier Contact Pole4.xlsm
(58.82 Kio) Téléchargé 7 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
c
carber20
Jeune membre
Jeune membre
Messages : 43
Inscrit le : 21 décembre 2014
Version d'Excel : 2013fr

Message par carber20 » 23 septembre 2019, 14:38

bonjour Steelson

j'ai le fichier global actuellement est il possible de mettre ajour les classeurs pole1 pole 2 pole 3 pole 5
par exemple quand l'utilisateur remplis dans le classeur Contacts et qu'il indique dans la colonne pole 1 ou 2 ou 4 ou 5 alors cette ligne se rajoute dans les classeurs qui correspond .

et j'arrive pas encore a mettre le truc recherche pour le classeur contact malgré mes changements que tu ma expliqué

je vous remercie
Fichier ContactGLOBAL.xlsx
(170.19 Kio) Téléchargé 2 fois
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'207
Appréciations reçues : 651
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 24 septembre 2019, 00:24

Ce code permettra d'extraire de l'onglet Contacts les lignes dont le pole est indiqué en A2 sur chaque feuille.
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Left(Sh.Name, 4) <> "Pole" Then Exit Sub
    Sh.Range("A6:X6").Offset(1, 0).Clear
    Sheets("Contacts").ListObjects(1).Range.AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sh.Range("A1:A2"), CopyToRange:=Sh.Range("A6:X6"), Unique:=False
End Sub
Fichier ContactGLOBAL.xlsm
(74.02 Kio) Téléchargé 4 fois

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message