Bonsoir,
N'écoutes pas ce vieux LouReed il perd la tête
Essayes plutôt en début de code
Dim cel As Object
A+
la collection étant un Range, autant cibler le type de la variable en Range, non ? tout comme lorsque l'on fait une revue de collection des Sheets, on type la variable en Sheets. Dim Variable Object c'est globale... Alors dans ce cas autant laisser VBA gérer le type et mettre rien ou variant. Voir on supprime "Option Explicite" et on ne dimensionne pas les variables...
Pour ce qui est de la boucle sur les feuilles d'un classeur vous pouvez faire le même principe avec un objet de type Sheets :
Sub LRD()
Dim Ws As Sheets, Cel As Range
Application.ScreenUpdating = False
For Each Ws In ActiveWorkbook.Sheets
For Each Cel In Ws.Range("C9:IT384")
If Cel.Interior.ColorIndex = 16 Then Cel.Font.ColorIndex = 13 Else Cel.Font.ColorIndex = 1
Next Cel
Next Ws
Application.ScreenUpdating = True
End Sub
J'ai pas essayé mais à la lecture cela semble fonctionner, peut-être y a t il besoin de sélectionner la feuille...
@ bientôt
LouReeD