XL 2013 Filtre s'applique dans mauvaise cellule (macro)

ClairePec

XLDnaute Nouveau
Bonjour à tous,

Pour poser le contexte : je travaille dans une menuiserie et j'ai créé un fichier planning dans lequel je dois affecter des missions pour différents chantiers en fonction de 3 rôles : Pose, Atelier, Livraison.

Ce qui donne pour exemple :
- Cellule B9 : Nom du chantier
- Cellule B10 : Mission + Cellule C10 : Rôle
- Cellule B11 : Mission + Cellule C11 : Rôle
- Cellule B12 : Nom du chantier
- Cellule B13 : Mission + Cellule C13 : Rôle
- Cellule B14 : Mission + Cellule C14 : Rôle

Afin de me permettre de filtrer rapidement un rôle (ex : Pose) pour visualiser ses missions sur l'ensemble des chantiers tout en conservant la visibilité du chantier concerné, j'ai créé une macro avec un bouton "Filtre" et "Défiltre".
Ma macro a très bien fonctionné jusqu'à hier mais voilà que maintenant le filtre qui est censé s'appliquer en cellule C9 s'applique en cellule C2. Je ne sais pas quelle modification m'a amené à ce résultat.

J'aimerai pouvoir glisser mon fichier pour que mes explications soient plus claires, mais il est trop volumineux... si quelqu'un a une solution, je suis preneuse.

Merci d'avance de votre aide !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
Je ne sais pas pourquoi son comportement s'est modifié.
J'ai repris la macro :
VB:
Dim nFiltre As String
nFiltre = [F4]
Range("A9:BD100").Select
Selection.AutoFilter Field:=3, Criteria1:=nFiltre
End Sub
Ca marche bien.

NB: Je n'ai pas compris votre syntaxe :
Code:
Selection.AutoFilter Field:=3, Criteria1:=nFiltre, Operator:=xlOr, Criteria2:="="
Critère2 n'est pas spécifié. Que vouliez vous mettre en second filtre ?
 

ClairePec

XLDnaute Nouveau
Malheureusement maintenant le filtre m'efface les lignes grisées, que je dois impérativement garder visible.
Comment faire pour les conserver ?

J'avoue ne rien y connaitre en macro. Je suis tombée sur une conversation sur ce forum et y ai repris la formule de la macro en essayant de l'adapter à mon cas... ca a marché, un temps.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
C'est à cela que servait votre second critère apparament;
Avec cette macro vous conservez les lignes grisées.
J'ai juste changé le tableau où ce filtre intervient.
VB:
Sub Filtre()
Dim nFiltre As String
nFiltre = Worksheets("Project Plan").Range("F4").Value
Range("A9:BD100").Select
Selection.AutoFilter Field:=3, Criteria1:=nFiltre, _
Operator:=xlOr, Criteria2:="="
End Sub
 

Statistiques des forums

Discussions
311 709
Messages
2 081 774
Membres
101 816
dernier inscrit
Jfrcs