Bonjour,
je veux changer la couleur d'une case à cocher pour indiquer que l'action cochée est en cours. Elle est grise avant le lancement de la macro, puis verte quand la macro tourne et redevient grise à la fin.
J'arrive à la faire devenir verte, sans soucis. Mais si je mets le retour au gris, il ne se passe rien. Ce qui est bizarre c'est que ça marche en pas à pas, mais pas en éxécuté... Ca marche aussi si je mets une msgbox entre les 2 chgmnt de couleur...
Bref il me manque une petit astuce.
Merci!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Public Declare Sub Sleep Lib "Kernel32.dll" (ByVal dwMillisenconds As Long) Sub Macro() ActiveSheet.Shapes("case_empref").Select If Selection.Value = xlOn Then<div style="margin-left:40px"> Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11 Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Line.Weight = 0.75 Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoFalse Sleep (5000) 'attente 5s pour simuler l'action Selection.ShapeRange.Fill.ForeColor.SchemeColor = 22 Cells(4, 2).Select</div>End If End Sub
Partager