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

  • Document exemple..xlsx
    12.4 KB · Affichages: 31
  • FiltreElaboreEnsemblezz.xls
    217.5 KB · Affichages: 36
  • FiltreElaboreEnsemblezz.xls
    217.5 KB · Affichages: 46

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

  • Document exemple..xls
    57.5 KB · Affichages: 27
  • Document exemple..xls
    57.5 KB · Affichages: 42
Dernière édition:

Discussions similaires

Réponses
6
Affichages
331

Statistiques des forums

Discussions
312 248
Messages
2 086 594
Membres
103 250
dernier inscrit
keks974