Je cherche du code qui va changer la couleur d'une forme quand on clique sur une cellule. Exemple la forme est S_IRL qui est l'Irlande et se trouve dans la cellule B22. Ce que je voudrais arriver est que si la cellule B22 forme S_IRL passe de bleu à rouge. Ensuite, si l'on clique sur une autre cellule avec un pays, la forme correspondante devient rouge et la précédente revient à la couleur précédente. Toute aide serait grandement appréciée Changer la couleur de la forme quand on clique sur la cellule
0
A
Répondre
1
Vous pouvez ajouter un nouveau sous-programme dans le code de la feuille de calcul qui se déclenche lorsque les changements de sélection sur la feuille:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim strShapeName As String 'Variable to hold the shape name
Dim shp As Shape 'Variable to hold a shape object
'Detect if the click was in range A:C
If Not Intersect(Target, Range("A:C")) Is Nothing Then
'Boom... set all the shapes to blue
For Each shp In Me.Shapes
If Left(shp.Name, 2) = "S_" Then shp.Fill.ForeColor.RGB = RGB(0, 0, 255)
Next shp
'Grab the shape name from Column A
strShapeName = Cells(Target.Row, 1).Value
'Set the color of the shape to red
Shapes(strShapeName).Fill.ForeColor.RGB = RGB(255, 0, 0)
End If
End Sub
Cela permet de détecter si le changement de sélection était une cellule dans les colonnes A, B ou C. Si tel était le cas, elle saisira le nom de la forme dans la colonne A, puis définira la couleur de cette forme en rouge.
Vous ne définissez jamais la forme sélectionnée précédente à son ancienne couleur. – OldUgly
@JNevill Je ne sais pas si vous avez vu le commentaire de OldUgly car il ne vous a pas tagué dans le commentaire, mais vous n'avez pas fourni de code pour revenir à la couleur d'origine une fois qu'une autre sélection est faite. –
Oui, il semble que je l'ai laissé. Difficile d'écrire sur mobile – JNevill