Si présence d'un mot UNIQUEMENT dans cellules visibles (filtre)

Résolu/Fermé
polorkskitoch - Modifié par polorkskitoch le 3/04/2014 à 14:58
 polorkskitoch - 3 avril 2014 à 16:43
Bonjour,

J'ai un tableau auquel j'applique des filtres. La colonne qui m'intéresse contient le nom des pays.

J'aimerais pouvoir parcourir les cellules visibles après application du filtre, et repérer si un nom de pays est présent dans cette liste.

Pour l'instant j'ai écris ce code:

Sub Carte()

Dim Line As Long
Dim LastLine As Long
Dim Origin As String
LastLine = Sheets("Feuille").Cells(Rows.Count, 17).End(xlUp).Row
For Line = LastLine To 18 Step -1
If Sheets("Feuille").Cells(Line, 17) Like "France" Then
ActiveSheet.Shapes("Freeform 566").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 2
End If
Next Line

End Sub

Le problème c'est que ce code parcours aussi les cellules cachées.....

Des idées?

Merci à tous

1 réponse

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
3 avril 2014 à 15:50
Bonjour,

Essaie comme cela
Sub Carte()
Dim LastLine As Long
Dim Cel As Range
With Sheets("Feuille")
LastLine = .Cells(Rows.Count, 17).End(xlUp).Row
For Each Cel In .Range(.Cells(18, 17), .Cells(LastLine, 17)).SpecialCells(xlCellTypeVisible)
If Cel Like "France" Then
ActiveSheet.Shapes("Freeform 566").Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 2
End If
Next Cel
End With
End Sub

A+
0
polorkskitoch
3 avril 2014 à 16:43
Merci :D ça fonctionne super bien!!
0