Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/10/2011, 14h44   #1
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 3
Points : 3
Par défaut Recherche de cellule par couleur de police

Bonjour à tous,

Je cherche à sélectionner une (pour commencer) ou des cellules dans une colonne déterminée (Exemple: colonne A) qui ont une couleur de police verte (par exemple)
Connaissez-vous une manière simple et rapide sous VBA pour trouver la cellule par ce critère ?

Exemple de la police :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'Police Couleur verte
    With Selection.Font
        .Name = "Arial"
        .FontStyle = "Gras"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .Color = 5287936
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
D'avance merci.
Romanuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2011, 15h15   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

L’enregistreur de macros donne :

Code :
1
2
3
4
5
6
7
8
    With Application.FindFormat.Font
        .Subscript = False
        .Color = 255
        .TintAndShade = 0
    End With
    Cells.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=True).Activate
Il faut mettre le bon numéro de couleur.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/10/2011, 15h34   #3
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
En complément de la proposition de Daniel C, il faudrait tester l'existence d'une cellule répondant aux critères et n'oublier pas d'effacer le format de recherche à la fin
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Test()
Dim c As Range
 
With Application.FindFormat.Font
    .Color = 255
'autres critères
End With
Set c = Worksheets("Feuil1").Range("A:A").Find("", SearchFormat:=True)
If Not c Is Nothing Then
    MsgBox c.Address
'c désigne la première cellule trouvée
    Set c = Nothing
End If
Application.FindFormat.Clear
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/10/2011, 17h38   #4
Invité de passage
 
Inscription : juillet 2009
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 7
Points : 3
Points : 3
Merci à tous les deux, cela fonctionne et m'a bien dépanné
Romanuche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h49.


 
 
 
 
Partenaires

Hébergement Web