Voir aussi
Rechercher un format en VBA
Comment rechercher en VBA dans un tableau des cellules formatées d'une certaine manière pour y faire des modifiications ?
Voici comment utiliser la méthode "find" pour rechercher un format et boucler ....

Sub TrouverFormat()

Dim Rg As Range
Dim LeCellFormat As CellFormat

Set LeCellFormat = Application.FindFormat
'Détermine les caractéristiques du format de cellule recherché.
With LeCellFormat
.Clear 'S'assurer d'effacer les critères des anciennes recherches
.Interior.ColorIndex = 36
'La liste pourrait être plus longue ...
End With

'Détermine la plage de cellules où s'effectue la recherche
With Worksheets("Feuil1")
Set Rg = .Range("A:A")
End With

'Trouve la cellule ayant le bon format pour
'y effectuer une ou plusieurs opérations
With Rg
Set C = .Find(What:="", SearchFormat:=True)
If Not C Is Nothing Then
adr = C.Address
Do
'Le code que tu veux exécuter avec la cellule trouvée
C.Select
'pour passer à la cellule suivante ...
Set C = .Find(What:="", after:=ActiveCell, SearchFormat:=True)
Loop Until C.Address = adr
End If
End With

End Sub

Attention : cette méthode ne permet pas de trouver des cellules dont le format est défini par une mise en forme conditionnelle. Dans ce cas il faut rechercher la condition ayant généré le format.
Denis Michon,
Ajouté ou modifié le 15/12/2007 (N°1942)
Somme des cellules rouges ?
Comment faire l'addition des valeurs des cellules qui sont sur fond rouge ?
Function SomCool(Zne As Range, Couleur As String)
Application.Volatile True
Select Case Couleur
Case "rouge"

Couleur = 3
Case "vert"
Couleur = 50
Case "jaune"
Couleur = 6
Case "bleu"
Couleur = 5
Case "gris"
Couleur = 15
Case "orange"
Couleur = 40
End Select
For Each cell In Zne
If cell.Interior.ColorIndex = Couleur Then cvSomme = _
cvSomme + cell.value
'NB : si tu veux dénombrer seulement les cellules d'une couleur donnée, remplace
' cvSomme= cvSomme+ cell.value par cvSomme=cvSomme+1

Next
SomCool = cvSomme
End Function


Pour sommer le contenu des cellules de la plage B1:B10 dont la couleur de
fond est le rouge :

=SomCool(B1:B10;"rouge")
ChrisV, (N°815)
Plus petite valeur non nulle en rouge
Je voudrais afficher en A1 et en rouge la plus petite valeur non nulle d'une ligne.
Dans mise en forme conditionnelle, entre la formule suivante :

=A1=MIN(SI($A$1:$A$100=0;"";$A$1:$A$100))
Jacques Chaussard, (N°814)
Sélection de cellules ayant le même format numérique
Comment effectuer un travail sur toutes les cellules de toutes les feuilles qui ont le même format que celle ou je suis actuellement ?
La procédure suivante récupère le format numérique de la cellule active, et
teste toutes les feuilles du classeur actif, en mettant en rouge les
cellules dont le format numérique correspond au format de la cellule active.
La fin de la procédure active la cellule initialement active

Sub FormatCellule()

Dim FormatNumerique As String
Dim Feuille As Worksheet, Cellule As Range,
Plage As Range
Dim FeuilleActive As Worksheet, CelluleActive As Range

Set FeuilleActive = ActiveSheet
Set CelluleActive = ActiveCell

FormatNumerique = ActiveCell.NumberFormat
For Each Feuille In
Worksheets()
Feuille.Select
Set Plage =
Feuille.Range("a1",
ActiveCell.SpecialCells(xlCellTypeLastCell).Address)

For Each Cellule In Plage
If Cellule.NumberFormat =
FormatNumerique Then
Cellule.Interior.Color = vbRed
Next Cellule

Next Feuille
FeuilleActive.Select
CelluleActive.Select
End Sub

Fonctionnement :
La macro mémorise la feuille et la cellule active,
puis mémorise le format numérique de cette cellule
Ensuite, elle détermine, pour chaque feuille du classeur, la dernière
cellule utilisée et définit une plage allant de A1 à cette cellule.
Elle compare les formats numériques et met en rouge les correspondances
Ensuite, elle réactive le classeur de départ, et dans ce classeur, la
cellule active initialement.
Pierre Fauconnier, (N°813)