moteur de recherche- Utilisation filtre avancé ? explication

tony555

XLDnaute Nouveau
Bonjour,

Ce que j'essaye de faire:
j'ai deux onglets , dans le premier une liste de participant(onglet donnée), dans le second une liste de personnel.
Je souhaiterais que en me positionnant sur une ligne participant et en appuyant sur un bouton( ou autre) je retrouve dans un troisième onglet la liste des personnes présentes dans l'onglet personnel dont certains attribut en colonne convergent selon certaines règles.
Ici j'ai choisis:
  1. le champ couleur et catégorie sont identiques
  2. l'expérience du personnel est égale ou supérieur
  3. trier le résultat par disponibilité

Après quelques recherchent je suis tombé sur les filtres avancés mais je ne comprend pas comment cela fonctionne.(malgrès le lien présent souvent dans les messages du forum boisgontierjacques.free.fr).
Est ce qu'il faut des macros ?
Est ce que l'on peut utiliser la fonctionnalité par macro afin de rendre plus invisible les opérations ?
Je comprend que tout dépend d'une cellule contenant une formule complexe mais je ne suis pas sur.
Je vous joint donc mon document exemple et le document que j'ai trouvé qui utilise les filtres avancés et qui pourrait correspondre. Je ne veux pas juste copier je souhaiterai vraiment comprendre. aussi je reste à tout autre suggestion pouvant répondre à mon besoin
 

Pièces jointes

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : moteur de recherche- Utilisation filtre avancé ? explication

Code dans la feuille

-Clic droit sur le nom d'onglet
-Visualiser le code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A2:F100], Target) Is Nothing And Target.Count = 1 Then
[m2] = Cells(Target.Row, "f")
[l2] = Cells(Target.Row, "e")
[A2:F100].Interior.ColorIndex = xlNone
Cells(Target.Row, "a").Resize(, 6).Interior.ColorIndex = 3
End If
End Sub

Code dans un module

-Alt+F11
-Insertion/Module

Sub extrait()
Sheets("base de personnel ").Range("A1:G29").AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=Sheets("données").Range("I1:I2"), CopyToRange _
:=Range("Result!Extract"), Unique:=False
Sheets("result").Select
[C2:I1000].Sort , key1:=[I2]
End Sub

Bouton

-Onglet développeur
-Insérer
-choisir bouton
-Attacher la macro Extrait

http://boisgontierjacques.free.fr/fichiers/Filtre/FiltreElabProfil.xls

JB
 

Pièces jointes

Dernière édition:

Discussions similaires

  • Question Question
Réponses
16
Affichages
670
Réponses
5
Affichages
550
  • Question Question
Microsoft 365 recherche idée
Réponses
6
Affichages
647
Réponses
1
Affichages
610

Statistiques des forums

Discussions
315 294
Messages
2 118 138
Membres
113 436
dernier inscrit
LAROQUE