Boucle if en fonction de la couleur de fonte

Bonjour à tous et merci pour m'accueillir dans votre forum.

Je suis un adepte du sudoku. Et plutôt que de remplir un sudoku sur une feuille de papier je préfère le remplir dans un tableau Excel, c'est plus propre et plus clair.

Bien sur Excel ne me sert que pour la présentation et surtout pas pour trouver les solutions.

pour cela j'ai fait les macros suivantes :

  • --mettre en rouge cellule
  • --mettre en noir cellule
  • --mettre en bleu cellule (et fonte plus petite)
  • --mettre en noir toutes les cellules vides (pour y écrire les chiffres possibles)
  • --mettre en bleu toutes les cellules vides
  • --mettre en blanc les cellules en bleu (pour ne plus voir les chiffres possibles)
  • --dupliquer le sudoku
  • --rotation de pi/2 du sudoku

Pour améliorer tout cela je voudrai mettre en vert les cellules dont j'ai trouvé les chiffres et dont je suis sur.

Cela m'évitera de tout recommencer si j'ai fait une erreur.

J'ai donc écrit la macro suivante :

Sub Met_cellules_noires_en_vert()

Dim i As Integer, j As Integer

Application.ScreenUpdating = False

Range("B2").Select

For i = 1 To 9 Step 1

For j = 1 To 9 Step 1

ActiveCell.Offset(0, 1).Range("a1").Select

If Selection.Font.ColorIndex = 1 Then (si couleur de la cellule est en noir alors

With Selection.Font (mettre la couleur de la cellule

.ColorIndex = 10 (en

End With (vert

End If

Next j

ActiveCell.Offset(0, -9).Range("a1").Select

j = 0

ActiveCell.Offset(1, 0).Range("a1").Select

Next i

Range("B2").Select

Application.ScreenUpdating = True

End Sub

Bien sur cela ne marche pas. Je ne trouve pas comment faire et cependant je sais que c'est très simple.

pourriez vous m'indiquer comment écrire ma boucle "if then else" en fonction de la couleur de la cellule.

d'avance merci pour votre aide

Nota : pour ceux qui le voudrai je peux mettre toutes ces macros dans un prochain post

pater

voila pour garder la meme syntaxe que toi

Sub Met_cellules_noires_en_vert()
Dim i As Integer, j As Integer
Application.ScreenUpdating = False
Range("B2").Select
For i = 1 To 9 Step 1
For j = 1 To 9 Step 1
ActiveCell.Offset(0, 1).Range("a1").Select
If ActiveCell.Interior.ColorIndex = 1 Then  '(si couleur de la cellule est en noir alors

With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 5287936
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

End If
Next j
ActiveCell.Offset(0, -9).Range("a1").Select
j = 0
ActiveCell.Offset(1, 0).Range("a1").Select
Next i
Range("B2").Select
Application.ScreenUpdating = True
End Sub

a+

Bonjour, et pourquoi pas tout simplement :

If ActiveCell.Font.ColorIndex=1 then
   ActiveCell.Font.ColorIndex = 10
end if

Par contre c'est la cellule ou le texte dont tu veux changer la couleur ? Car dans ton code tu utilise Font (donc le texte, ce que j'ai repris) et spyderpaint a proposé son code avec des ActiveCell.Interior.ColorIndex ca qui changerait la couleur de fond de la cellule.

oui je pense qu'il veux changer le font des cellules c'est pour ca que je lui ai fait ce code

a pater de confirmer ce qu'il voulait

Bonjour et merci à Spyderpaint et Zirak pour vos réponses, simples et efficaces.

Zirak, ta réponse correspond parfaitement à ma question. Les lettres en noir sont transformées en vert. Je remet la macro corrigée :

Sub Met_cellules_noires_en_vert()

Dim i As Integer, j As Integer

Application.ScreenUpdating = False

Range("B2").Select

For i = 1 To 9 Step 1

For j = 1 To 9 Step 1

ActiveCell.Offset(0, 1).Range("a1").Select

If ActiveCell.Font.ColorIndex = 1 Then

ActiveCell.Font.ColorIndex = 10

End If

Next j

ActiveCell.Offset(0, -9).Range("a1").Select

j = 0

ActiveCell.Offset(1, 0).Range("a1").Select

Next i

Range("B2").Select

Application.ScreenUpdating = True

End Sub

Spyderpaint, l'exemple que tu m'as envoyé transforme la couleur de fond de la cellule du noir vers le vert.

Mais si cela ne répond pas à la question cela me servira ultérieurement car je stocke ce genre de code qui m'apprend des propriétés que je ne connaissais pas et que je réutiliserai si besoin plus tard.

Merci beaucoup pour votre aide

pater

Rechercher des sujets similaires à "boucle fonction couleur fonte"