Texte blanc dans une macro ?
RésoluLe Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai une macro ci jointe.
Option Explicit
Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim E As String
Public I13save ' Mémorisation des valeurs en publique
Sub Worksheet_Calculate()
If [I13] <> I13save Then I13save = [I13]: Worksheet_Change ([I13]) 'Vent Maxi
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'- Vent en rafale ----------------------------------------------------------------------
If Not Intersect(Target, Range("I13")) Is Nothing Then
Select Case Target.Value
Case Is = 0: R = 0: G = 250: B = 250
Case Is < 11: R = 190: G = 240: B = 250
Case Is < 21: R = 120: G = 170: B = 220
Case Is < 31: R = 230: G = 180: B = 180
Case Is < 41: R = 250: G = 152: B = 70
Case Is < 51: R = 192: G = 80: B = 77
Case Is < 61: R = 230: G = 110: B = 10
Case Is < 71: R = 201: G = 196: B = 10: E = vbWhite
Case Is < 81: R = 167: G = 62: B = 59: E = vbWhite
Case Is < 91: R = 250: G = 90: B = 90: E = vbWhite
Case Is < 101: R = 255: G = 70: B = 50: E = vbWhite
Case Is > 100: R = 255: G = 55: B = 0: E = vbWhite
End Select
Shapes("Texte Rafale").Fill.ForeColor.RGB = RGB(R, G, B)
End If
End Sub
au dessus de 60 km/h, je devrait avoir un texte blanc.
Je n'arrive pas à l'avoir. Y a-t-il une erreur dans la macro ?
Cordialement
Windows / Chrome 124.0.0.0
- Texte blanc dans une macro ?
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
12 réponses
Bonjour,
Juste au passage le code RGB pour blanc est (R=255,G=255,B=255)
En principe il n'y a pas de valeur E !!!!
Salut,
Pas tout compris ton code ou ce que tu voulais faire. si ton shape est nommé Texte Rafale teste le code comme cela.
Ensuite il faudra ajuster tes nuances RGB, exemple pour le noir c'est RGB(0,0,0)
Private Sub Worksheet_Change(ByVal Target As Range)
'- Vent en rafale ----------------------------------------------------------------------
If Not Intersect(Target, Range("I13")) Is Nothing Then
Shapes("Texte Rafale").Select
With Selection.ShapeRange.Fill
If [I13] > 100 Then .ForeColor.RGB = RGB(255, 55, 0)
If [I13] < 101 Then .ForeColor.RGB = RGB(255, 70, 50)
If [I13] < 91 Then .ForeColor.RGB = RGB(250, 90, 90)
If [I13] < 81 Then .ForeColor.RGB = RGB(167, 62, 59)
If [I13] < 71 Then .ForeColor.RGB = RGB(201, 196, 10)
If [I13] < 61 Then .ForeColor.RGB = RGB(230, 110, 10)
If [I13] < 51 Then .ForeColor.RGB = RGB(192, 80, 77)
If [I13] < 41 Then .ForeColor.RGB = RGB(250, 152, 70)
If [I13] < 31 Then .ForeColor.RGB = RGB(230, 180, 180)
If [I13] < 21 Then .ForeColor.RGB = RGB(120, 170, 220)
If [I13] < 11 Then .ForeColor.RGB = RGB(190, 240, 250)
If [I13] = 0 Then .ForeColor.RGB = RGB(0, 250, 250)
End With
[I13].Select
End If
End Sub
Voici mon code en entier.
Mais il change la couleur du fond, mais pas le texte.
Option Explicit
Dim R As Integer
Dim G As Integer
Dim B As Integer
Dim E As String
Public I18save, I22save, I12save, I13save ' Mémorisation des valeurs en publique
Sub Worksheet_Calculate()
If [I18] <> I18save Then I18save = [I18]: Worksheet_Change ([I18]) 'Température
If [I22] <> I22save Then I22save = [I22]: Worksheet_Change ([I22]) 'Vent Relevés
If [I12] <> I12save Then I12save = [I12]: Worksheet_Change ([I12]) 'Soleil
If [I13] <> I13save Then I13save = [I13]: Worksheet_Change ([I13]) 'Vent Maxi
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
'- Bouée de la température ---------------------------------------------------------------------
If Not Intersect(Target, Range("I18")) Is Nothing Then
Select Case Target.Value
Case Is < 0: R = 255: G = 51: B = 0
Case Is < 6: R = 204: G = 0: B = 153
Case Is < 11: R = 153: G = 153: B = 255
Case Is < 16: R = 51: G = 153: B = 255
Case Is < 21: R = 186: G = 224: B = 30
Case Is < 26: R = 255: G = 204: B = 153
Case Is < 31: R = 255: G = 204: B = 0
Case Is < 35: R = 255: G = 153: B = 0
Case Is < 41: R = 250: G = 190: B = 140
Case Is < 46: R = 226: G = 107: B = 10
Case Is > 51: R = 255: G = 0: B = 0
End Select
Shapes("Bouée T°").Fill.ForeColor.RGB = RGB(R, G, B)
End If
'- Bouée du Vent ----------------------------------------------------------------------
If Not Intersect(Target, Range("I22")) Is Nothing Then
Select Case Target.Value
Case Is = 0: R = 0: G = 250: B = 250
Case Is < 11: R = 190: G = 240: B = 250
Case Is < 21: R = 120: G = 170: B = 220
Case Is < 31: R = 230: G = 180: B = 180
Case Is < 41: R = 250: G = 152: B = 70
Case Is < 51: R = 192: G = 80: B = 77
Case Is < 61: R = 230: G = 110: B = 10
Case Is < 71: R = 201: G = 196: B = 10
Case Is < 81: R = 167: G = 62: B = 59
Case Is < 91: R = 250: G = 90: B = 90
Case Is < 101: R = 255: G = 70: B = 50
Case Is > 100: R = 255: G = 55: B = 0
End Select
Shapes("Bouée Vent").Fill.ForeColor.RGB = RGB(R, G, B)
End If
'- Bouée du Soleil ----------------------------------------------------------------------
If Not Intersect(Target, Range("I12")) Is Nothing Then
Select Case Target.Value
Case Is = 0: R = 166: G = 166: B = 166
Case Is < 60: R = 255: G = 255: B = 224
Case Is < 120: R = 255: G = 255: B = 192
Case Is < 180: R = 255: G = 255: B = 160
Case Is < 240: R = 255: G = 255: B = 128
Case Is < 300: R = 255: G = 255: B = 96
Case Is < 360: R = 255: G = 255: B = 64
Case Is < 420: R = 255: G = 255: B = 32
Case Is < 480: R = 255: G = 255: B = 0
Case Is >= 480: R = 255: G = 255: B = 0
End Select
Shapes("Bouée Soleil").Fill.ForeColor.RGB = RGB(R, G, B)
End If
'- Zone texte Vent en rafale ----------------------------------------------------------------------
If Not Intersect(Target, Range("I13")) Is Nothing Then
Select Case Target.Value
Case Is = 0: R = 0: G = 250: B = 250
Case Is < 11: R = 190: G = 240: B = 250
Case Is < 21: R = 120: G = 170: B = 220
Case Is < 31: R = 230: G = 180: B = 180
Case Is < 41: R = 250: G = 152: B = 70
Case Is < 51: R = 192: G = 80: B = 77
Case Is < 61: R = 230: G = 110: B = 10
Case Is < 81: R = 167: G = 62: B = 59
Case Is < 91: R = 250: G = 90: B = 90
Case Is < 101: R = 255: G = 70: B = 50
Case Is > 100: R = 255: G = 55: B = 0
End Select
Shapes("Texte Rafale").Fill.ForeColor.RGB = RGB(R, G, B)
End If
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionRe,
Difficile de travailler sur des données partielles,
pourquoi as tu deux shapes nommées "Bouée soleil" et "Bouée T°", es ce que tu as empilé plusieurs shapes on ne peut apprécier sur l'image de ton post 2
Bonjour,
Et pourquoi ne pas mettre votre fichier à disposition avec un petit commentaire directement sur la feuille. Mettre le fichier sur https://www.cjoint.com/ et poster le lien.
Re,
Comme l'a dit l'ami Le Pingou que je salue, demain fera jour. Mais à première vue pour Bouée T° la cellule de déclenchement n'est pas i18 mais i20.
If Not Intersect(Target, Range("I20")) Is Nothing Then
ensuite le fait de changer la valeur donc en I20 la bouée change de couleur..
Ensuite pour Bouée vent il me semble que ce n'est pas I22 mais I28
et Bouée soleil I24, mais pour ces deux cas tu fais référence à des cellules dont le contenu change OUI BIEN SUR mais résultat issu de formule hors pour déclencher un code il faut que le contenu change par une action manuelle sur la cellule.
ou il faut choisir une cellule qui inévitablement changera par une action manuelle et à partir de là tu déclenches tous les codes, ou opter pour un autre type de déclenchement.
Bonjour,
J'ai de l'avance. Voir si c'est ce que vous désirez.
Le fichier : https://www.cjoint.com/c/NDvtYsVxpmZ