Ouverture UserForm si ToggleButton = "non barré"

Bonjour,

J'aime bien les trucs compliqués et dans le genre je pense en avoir trouvé un pas mal...

Savez-vous s'il est possible que lorsqu'un ToggleButton affiche une information non barrée, alors il y ait une réaction et s'il affiche une information barrée, alors une autre réaction.

C'est surtout le fait que ce soit barré ou non qui m'embête et, a priori, excel ne fait pas la différence entre caractères barrés / non barrés

J'ai fais un petit document Excel pour illustrer ce que je souhaite faire. Tout fonctionne sauf "barré" / "pas barré"

Bonne journée !

A plus tard.

Bonjour Le Drosophile,

Voici un essai,

Private Sub ToggleButton1_Click()
If ToggleButton1.Caption = "Test01" Then ToggleButton1.Caption = "Test01barré" Else ToggleButton1.Caption = "Test01"
If ToggleButton1.Caption = "Provisionner" 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
End With

'If ToggleButton1.Caption = "Test01" Then UserForm1.Show
'If ToggleButton1.Caption = "Test01barré" Then Cells(1, 1).Value = 0
'Si ToggleButton1 = test01 barré alors, mettre un 0 dans la cellule (1,1)
End Sub

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...

Bonjour Le Drosophile ,

Voici un nouvelle Essai

Private Sub ToggleButton1_Click()
    'If ToggleButton1.Caption = "Provisionner" Then ToggleButton1.BackColor = &H80FF80 Else ToggleButton1.BackColor = &H80FFFF

    If ToggleButton1.Caption = "Test01" Then

        With ToggleButton1.Font
            If .Strikethrough = False Then
                ToggleButton1.Caption = "Essai"
                .Strikethrough = True
                Cells(1, 1).Value = 1
                UserForm1.Show
            Else
                Cells(1, 1).Value = 0
                .Strikethrough = False
                ToggleButton1.Caption = "Test01"

            End If
        End With
    Else
        Cells(1, 1).Value = 0
        ToggleButton1.Caption = "Test01"
        ToggleButton1.Font.Strikethrough = False

    End If

End Sub

Bonsoir,

Désolé de n'avoir pas répondu avant, j'avais laissé ce problème de côté pour avancer sur le reste.

C'est exactement ça ! Merci beaucoup !

Vous parvenez vraiment à résoudre tous les problèmes sur ce forum !

Rechercher des sujets similaires à "ouverture userform togglebutton barre"