Texte blanc dans une macro ?
RésoluLe Pingou Messages postés 12230 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 15 janvier 2025 - 22 avril 2024 à 10:05
- Texte blanc dans une macro ?
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Transcription audio en texte word gratuit - Guide
- Macro word - Guide
- Insérer une image dans word sans bouger le texte - Guide
12 réponses
21 avril 2024 à 11:53
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 !!!!
Modifié le 21 avril 2024 à 13:30
Ce que je voulais, c'est avoir le fond de la couleur obtenue par la macro.
Exemple:
Case Is < 91: R = 250: G = 90: B = 90
Mais avoir le texte blanc
Case Is < 91: R = 250: G = 90: B = 90: E = vbWhite
21 avril 2024 à 17:35
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
21 avril 2024 à 17:45
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 question21 avril 2024 à 18:35
Re,
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
21 avril 2024 à 18:41
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.
21 avril 2024 à 19:12
21 avril 2024 à 20:35
Bonjour,
Merci pour le fichier, la solution pour demain, patience.
21 avril 2024 à 20:40
Pas de problème
Bonne nuit
Modifié le 21 avril 2024 à 21:20
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.
Modifié le 22 avril 2024 à 08:37
Mais à première vue pour Bouée T° la cellule de déclenchement n'est pas i18 mais i20.
Bonjour,
Si c'est en i18....
21 avril 2024 à 21:50
Bonjour,
J'ai de l'avance. Voir si c'est ce que vous désirez.
Le fichier : https://www.cjoint.com/c/NDvtYsVxpmZ
22 avril 2024 à 08:45
Bonjour
Impeccable !!!
Ça correspond
Merci
22 avril 2024 à 10:05
Merci, pensez de marquer comme résolu si c'est le cas.