Bonjour à tous,
Je bloque décidément (malgré les aides du forum) sur la façon de manipuler en vba des cellules cachées par la méthode Autofilter d'un tableau. Je veux par exemple changer la couleur de fond de cellules dont certaines appartiennent à des lignes non visibles parce que non sélectionnées par le filtre d'un tableau de type ListObject. Or quelle que soit la façon de je m'y prends, seules les cellules visibles sont affectées par mon instruction de changement de couleur. Voici un code pour illustrer :
J'essaie de changer la couleur des lignes 3 et 4 de la feuille, mais comme la ligne 3 est non visible elle n'est pas affectée par ma commande... La seule façon que j'ai trouvée, mise à part le défiltrage de mon tableau, est de procéder cellule par cellule sans uitliser l'objet Range. Mais cette solution n'est pas satisfaisante dans mon projet qui comporte des tableaux beaucoup plus conséquents.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Sub Macro1() Range("A1") = "Colonne1" Range("A2") = "Colonne2" For i = 2 To 5 ActiveSheet.Cells(i, 1).Value = i - 1 Next ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$A$5"), , xlYes).Name = _ "Tableau5" ActiveSheet.ListObjects("Tableau1").ShowTableStyleRowStripes = False ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:= _ "<>2" ActiveSheet.Range(Cells(3, 1), Cells(4, 2)).Interior.Color = 650650 End Sub
Auriez-vous une autre piste ?
Merci
Stargate
Partager