Reconnaissance couleur de la police

Bonjour à vous,

En pièce jointe un fichier type de ce que je souhaite accomplir.

Pour faire court:

Si couleur de la police dans la colonne I est noir (ligne par ligne), affiché un "1" dans la colonne "état".

Si couleur de la police dans la colonne I est rouge (ligne par ligne), affiché un "2" dans la colonne "état".

A priori ça a l'air simple, mais rien de concluant dans le forum.

D'avance merci et bonne journée à vous.

9essai-1.xlsm (11.07 Ko)

Bonjour Ultima Tagada, le forum,

Essaie ainsi:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

   Dim DernLigne As Long
       DernLigne = Range("I1048576").End(xlUp).Row

For i = 2 To DernLigne

 If Range("I" & i).Font.ColorIndex = 3 Then
    Range("N" & i) = "2"
 End If

 If Range("I" & i).Font.ColorIndex = 1 Then
    Range("N" & i) = "1"
 End If

 If Range("I" & i).Font.ColorIndex <> 1 And Range("I" & i).Font.ColorIndex <> 3 Then
    Range("N" & i) = ""
 End If

Next i

End Sub

Cordialement,

Edit: correctif, j'avais compris colonne L et non colonne I

Bonjour,

Un test

14ultima-tagada.xlsm (18.92 Ko)

Merci pour le prg.

Presque débutant en VBA, sur mon fichier Excel, je fais:

1) Alt + F11

2) insertion

3) un module

4) copier-coller de votre prg dans la fenêtre qui s'est ouverte

5) sauvegarde

6) je ferme la fenêtre

Mais ensuite, comment activer le prg dans ma colonne état?

Merci.

Re,

Alt + F11

Double-clic sur Feuil1

Colle le code

Les valeurs apparaissent dès que tu modifies une donnée sur ta feuille,

Re,

Il ne faut pas mettre le code dans un module, mais dans la feuille

Prendre le code de la feuille et le coller dans ta feuille. A chaque validation sur une cellule le code fait le reste

Ne t'occupe pas du module (c'est une fonction que j'avais testé avant)

Merci à vous pour votre réactivité et solution proposée.

M12, ça fonctionne. Un module + un code.

Bonne journée à vous.

Il y a tout de même un soucis.

En indiquant colonne "I" comme test, le prg n'a pas de fin de calcul, et donc test cette colonne à l'infini.

Si je souhaite fixer une limite au test, genre I6 à I1000, comment modifier le prg?

Re

Comme ceci

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Dim Ligne%

    For Ligne = 6 To 1000
      If Range("I" & Ligne).Value <> "" Then
        If Range("I" & Ligne).Font.ColorIndex = 3 Then
          Range("N" & Ligne) = "2"
          Range("N" & Ligne).Font.ColorIndex = 3
        Else
          Range("N" & Ligne) = "1"
          Range("N" & Ligne).Font.ColorIndex = 1
        End If
      End If
    Next Ligne
End Sub
Rechercher des sujets similaires à "reconnaissance couleur police"