Je suis à la recherche d'un code VBA pour la fonction suivante :
Couleurs de fond d'un objet en fonction de la valeur Textuel de celui-ci.
Je m'explique :
J'ai une feuille nommé EUROPA qui comporte un tableau nommé BCGT
Dans ce tableau, en colonne H (De H11 à H105 (98lignes)) j'ai 3 types de mention écrit (AM, SEMI-PRO ou PRO)
Chacune de ses mentions de chaque ligne se retrouve également dans des objets sur une nouvelle feuille nommé "Resultats EUROPA"
Un objet = une mention d'une ligne
Je souhaiterais que chaque objet change de couleur en fonction de cette valeur Textuel :
AM = l'objet soit rouge
SEMI-PRO = GRIS
PRO = BLANC
En vous remerciant par avance je n'es aucune idée si cela est possible
Bonjour,
en supposant que les objets sont des objets de feuille,
et sans savoir quand ils sont créés ou renseignés:
dans la feuille "Resultats EUROPA", mettre le code ci-dessous :
VB:
Option Compare Text
Private Sub Worksheet_Activate()
For Each Shp In ActiveSheet.Shapes
With Shp.OLEFormat.Object
Select Case .Text
Case "am": .Interior.Color = vbRed
Case "semi-pro": .Interior.Color = 9868950
Case "pro": .Interior.Color = vbWhite
Case Else:
End Select
End With
Next
End Sub
Bonjour,
en supposant que les objets sont des objets de feuille,
et sans savoir quand ils sont créés ou renseignés:
dans la feuille "Resultats EUROPA", mettre le code ci-dessous :
VB:
Option Compare Text
Private Sub Worksheet_Activate()
For Each Shp In ActiveSheet.Shapes
With Shp.OLEFormat.Object
Select Case .Text
Case "am": .Interior.Color = vbRed
Case "semi-pro": .Interior.Color = 9868950
Case "pro": .Interior.Color = vbWhite
Case Else:
End Select
End With
Next
End Sub
Bonjour,
en supposant que les objets sont des objets de feuille,
et sans savoir quand ils sont créés ou renseignés:
dans la feuille "Resultats EUROPA", mettre le code ci-dessous :
VB:
Option Compare Text
Private Sub Worksheet_Activate()
For Each Shp In ActiveSheet.Shapes
With Shp.OLEFormat.Object
Select Case .Text
Case "am": .Interior.Color = vbRed
Case "semi-pro": .Interior.Color = 9868950
Case "pro": .Interior.Color = vbWhite
Case Else:
End Select
End With
Next
End Sub
OK, vous devez avoir d'autres objets que des Rectangles et qui n'ont pas la propriété Text ou Caption.
Ce code devrait résoudre le pb :
VB:
Option Compare Text
Private Sub Worksheet_Activate()
On Error Resume Next
For Each Shp In ActiveSheet.Shapes
With Shp.OLEFormat.Object
Select Case .Text
Case "am": .Interior.Color = vbRed
Case "semi-pro": .Interior.Color = 9868950
Case "pro": .Interior.Color = vbWhite
Case Else:
End Select
End With
Next
End Sub
OK, vous devez avoir d'autres objets que des Rectangles et qui n'ont pas la propriété Text ou Caption.
Ce code devrait résoudre le pb :
VB:
Option Compare Text
Private Sub Worksheet_Activate()
On Error Resume Next
For Each Shp In ActiveSheet.Shapes
With Shp.OLEFormat.Object
Select Case .Text
Case "am": .Interior.Color = vbRed
Case "semi-pro": .Interior.Color = 9868950
Case "pro": .Interior.Color = vbWhite
Case Else:
End Select
End With
Next
End Sub