changer de couleur certain caractère sous condition.

  • Initiateur de la discussion Initiateur de la discussion mephis
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour