Humm, ça ne marche pas tout à fait. Mais quasiment.
Private Sub ToggleButton1_Click()
'If ToggleButton1.Caption = "Test01" Then ToggleButton1.Caption = "Test01barré" Else ToggleButton1.Caption = "Test01"
'If ToggleButton1.Caption = "Test01" Then ToggleButton1.BackColor = &H80FF80 Else ToggleButton1.BackColor = &H80FFFF
With ToggleButton1.Font
If .Strikethrough = False Then
UserForm1.Show
Else
Cells(1, 1).Value = 0
.Strikethrough = True
End If
' If Cells(1, 1).Value = 0 Then ToggleButton1.Font.Strikethrough = True
End With
'If ToggleButton1.Caption = "Test01" Then UserForm1.Show
'If ToggleButton1.Caption = "Test01barré" Then Cells(1, 1).Value = 0
End Sub
L'inconvénient est que le remplissage du bouton ne change jamais. Ce qui fait que seule l'une ou l'autre des possibilités fonctionne.
Dans cette partie du code, inactivée :
If ToggleButton1.Caption = "Test01" Then ToggleButton1.Caption = "Test01barré" Else ToggleButton1.Caption = "Test01"
Je ne souhaite pas indiquer littéralement "Test01barré" mais en fait "Test01". Ce qui ne semble pas possible...