Problème méthode range.find
Bonjour,
Voici mon problème :
Je dispose d’une feuille excel avec un tableau à l’intérieur. J’ai coloré la dernière ligne de ce tableau en gris en utilisant la deuxième nuance de gris comme couleur de remplissage.
Je souhait utiliser la fonction find, avec la propriété SearchFormat, afin de trouver la dernière case de ce tableau dans la colone B (la case grise donc, dans la colone B).
Pour repérer le code et repérer les critères de format à rechercher. J'ai enregistré une macro automatique au moment où j'ai remplie de gris ma dernière ligne. Il semble que le paramètre de couleur soit le suivant :
Range.Interior.ThemeColor = xlThemeColorDark1
J'ai donc essayé avec le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub Rgrise()
Dim Rg As Range, c As Range
'Détermine les caractéristiques du format de cellule recherché.
With Application.FindFormat
.Clear 'S'assurer d'effacer les critères des anciennes recherches
.Interior.ThemeColor = xlThemeColorDark1
End With
'Détermine la plage de cellules où s'effectue la recherche
With ActiveSheet
Set Rg = .Range("B:B")
End With
'Trouve la cellule ayant le bon format pour y effectuer une ou plusieurs opérations
Set c = Rg.Find(What:="", SearchFormat:=True)
If Not c Is Nothing Then MsgBox c.Address
End Sub |
Or en fin de procédure "c" renvoi nothing. Je ne comprends pas pourquoi. Pourriez-vous m’aider sur ce point ?
merci