Filtre

Salut,

Tout d'abord ne tinquiète pas je ne voulais pas que qqn fasse le travail à ma place. donc ya pas de problème.

Par contre tu pourrais juste me modifié le code que tu as fait pour que je puisse filtrer par service, processus ou fonction stp. Le reste je m'en occupe

Je vais m'acheter "VBA pour les nuls" ce soir, je vais m'y plonger tout le we je pense, ça m'intéresse bcp la prog.

Merci d'avance

Bonjour,

à priori, c'est cette partie de code, que tu ne comprends pas :

If Range("A5:A" & Lig).SpecialCells(xlCellTypeVisible).Areas(1).Count > 1 Then
    x = 6
  Else
    x = Range("A5:A" & Lig).SpecialCells(xlCellTypeVisible).Areas(2).Item(1).Row
  End If

Comme déterminé un peu plus haut, dans le code, Lig est la dernière ligne remplie de ton tableau

Ensuite, on fait un filtre élaboré, filtrer sur place, et n'apparait que la ligne de la personne

Si la personne sélectionnée est la première de la liste, il n'y a donc qu'une seule Aire (Area) de visible, et la ligne en question est donc la 1 ère du tableau, soit la ligne 6

S'il s'agit d'une autre personne, on obtient donc 2 aires, la première étant la ligne de titre, et la deuxième, la ligne de la personne sélectionnée. Pour avoir le numéro de la ligne, on recherche le premier Item de la deuxième zone visible.

PS, pour le filtre élaboré :

Range("A5:U" & [A65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("A1:B2"), Unique:=False

la zone de critère (CriteriaRange) est dans mon fichier la zone A1 à B2

Si tu veux plus de critères (dans ton exemple, 5 : Nom, Prénom, Fonction, Service, Processus), étends la zone comme ceci :

Range("A5:U" & [A65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("A1:E2"), Unique:=False

Merci j'ai changé pour

Range("A5:U" & [A65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
        Range("A1:E2"), Unique:=False

mais ça ne fonction pas, j'imagine que c'est à cause du système qui permet de n'avoir qu'un nom (booms ) au lieu des deux présent car du coup la reference listindex n'est plus disponible pour cibler les autres cellule de la fiche ?

Re

Effectivement, dans le premier code, il fallait déterminer le Nom ET le prénom, ce qui ne donnait qu'une seule personne

Si tu veux obtenir toutes les personnes ayant le même nom, il faut repenser le code

Je mange, et j'y réfléchis

Moi aussi, je suis sur une autre piste pour aborder le code.

Bon apétit !

Rechercher des sujets similaires à "filtre"