changer de couleur certain caractère sous condition.

mephis

XLDnaute Occasionnel
Bonjour à tous et merci d'avance pour toute l'aide que vous pourrez m'apporter.


J'aimerai pouvoir changer les deux premiers caractère de couleur en fonction de la valeur qui est afficher dans une autre cellule.

Par exemple:

pièce fraisage érosion

carcasse 4 8

Donc vu que les valeurs des cases fraisage et érosion sont supérieure à 0 alors "ca" doit être d'une certaine couleur, "rc" d'une autre couleur et "asse" reste en noir.


Merci.
 

Pièces jointes

  • Classeur2.xls
    16.5 KB · Affichages: 54
  • Classeur2.xls
    16.5 KB · Affichages: 55
  • Classeur2.xls
    16.5 KB · Affichages: 52

NeMoS

XLDnaute Junior
Re : changer de couleur certain caractère sous condition.

Essaye avec ce bout de code (je ne l'ai pas testé).

J'ai considéré que tes colonnes ne bougeaient pas.
Si j'ai bien compris, la condition pour colorer les lettres c'est que Fraisage ET Erosion soient >0.

Pour les couleurs j'ai pris 3 et 33 je crois que c'est rouge et bleu ciel :))

J'espère que cela te convient....

Gwen


Code:
Private Sub color_mot()

Dim i As Integer
Dim fin_tableau As Integer

i = 2
fin_tableau = 15

For i = 2 To fin_tableau
If Range("j" & i).Value > 0 And Range("m" & i) > 0 Then

Range("c" & i).Characters(Start:=1, Length:=2).Font.ColorIndex = 3
Range("c" & i).Characters(Start:=3, Length:=2).Font.ColorIndex = 33

End If
Next
End Sub
 

mephis

XLDnaute Occasionnel
Re : changer de couleur certain caractère sous condition.

j'ai trouvé, l'erreur était dans la condition:

If Range("j" & i).Value > 0 And Range("m" & i) > 0 Then

Range("c" & i).Characters(Start:=1, Length:=2).Font.ColorIndex = 3
Range("c" & i).Characters(Start:=3, Length:=2).Font.ColorIndex = 33

End If
Next


il fallait écrire:


If Range("m" & i) > 0 Then
Range("c" & i).Characters(Start:=3, Length:=2).Font.ColorIndex = 33
End If

If Range("l" & i) > 0 Then
Range("c" & i).Characters(Start:=1, Length:=2).Font.ColorIndex = 3
End If
 

NeMoS

XLDnaute Junior
Re : changer de couleur certain caractère sous condition.

Re-bonjour,

Bon du coup j'ai testé
En fait mon premier code était le bon (à part le .value qui manquait).
Si cela ne marche que sur la ligne 3 c'est parce que dans ton tableau il n'y a que cette ligne qui correspond au critère fraisage+ erosion >0

C'est un ET ou un OU que tu veux ? Et sur quelles colonnes ?
Le i=2 est nécessaire pour initialiser la variable et dans ton tableau on commence bien à la ligne 2 puisque en ligne 1 ce sont les intitulés des colonnes.

Code:
Sub color_mot()
Dim i As Integer
Dim fin_tableau As Integer

i = 2
fin_tableau = 15

Worksheets("Feuil2").Activate
For i = 2 To fin_tableau
If Range("j" & i).Value > 0 And Range("m" & i).Value > 0 Then

Range("c" & i).Characters(Start:=1, Length:=2).Font.ColorIndex = 3
Range("c" & i).Characters(Start:=3, Length:=2).Font.ColorIndex = 33

End If
Next
End Sub

Gwen
 

Discussions similaires

Statistiques des forums

Discussions
312 651
Messages
2 090 529
Membres
104 566
dernier inscrit
abdoyoussef