Questions Contrôle ActiveX togglebutton ou button

Bonjour a tous,

Ma question est, peut on modifier un contrôle activeX togglebutton en "ToggleButton1.Value = False" en fonction d'une formule d'une cellule sans toucher au togglebutton ?

Exemple: Si A1 = 1 le togglebutton change de true a false et si A1 = vide togglebutton change de false a true.

Et idem avec un bouton activeX peut on changer sa couleur si A1 = 1 sans que celui si soit cliqué et si A1= vide le boutton change d'une autre couleur.

Merci de vos réponse.

Bonjour Stepaustras, bonjour le forum,

Il te faut utiliser, dans l'onglet concerné, la macro événementielle Change du style :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Select Case Target.Value
    Case "1"
        Me.ToggleButton1.Value = True
        Me.ToggleButton1.BackColor = &HC0C0FF
    Case ""
        Me.ToggleButton1.Value = False
        Me.ToggleButton1.BackColor = &H8000000F
End Select
End Sub

Un fichier exemple :

bonjour

18test1.xlsm (21.76 Ko)

Bon bah

MERCI A TOUS LES DEUX, LES DEUX FONCTIONNENT PARFAITEMENT.

Sauf que Thauthème m'a battu de 3 minutes … il rédige plus vite

Re,

C'est pour les nombreuses fois où tu me bats....

Ne vous battez pas

Si je veux mettre deux togglebutton cela ne fonctionne pas ! Une idée ?

TOP CHRONO

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Select Case Target.Value
    Case "1"
        Me.ToggleButton1.Value = True
        Me.ToggleButton1.BackColor = &HFF&
        Me.ToggleButton1.Caption = ""
    Case "2"
        Me.ToggleButton1.Value = False
        Me.ToggleButton1.BackColor = &HFF00FF
        Me.ToggleButton1.Caption = "OK"
End Select

If Target.Address <> "$B$1" Then Exit Sub
Select Case Target.Value
    Case "1"
        Me.ToggleButton2.Value = True
        Me.ToggleButton2.BackColor = &HFF&
        Me.ToggleButton2.Caption = ""
    Case "2"
        Me.ToggleButton2.Value = False
        Me.ToggleButton2.BackColor = &HFF00FF
        Me.ToggleButton2.Caption = "OK"
End Select
End Sub

C'est le codage de Thauthème pas le mien je lui laisse

Si la condtion premier Target n'est pas réuni alors "exit sub" du coup la macro s'arrête ; il ne lira pas les infos pour tooggle2

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Go To Toggle2
Select Case Target.Value
    Case "1"
        Me.ToggleButton1.Value = True
        Me.ToggleButton1.BackColor = &HFF&
        Me.ToggleButton1.Caption = ""
    Case "2"
        Me.ToggleButton1.Value = False
        Me.ToggleButton1.BackColor = &HFF00FF
        Me.ToggleButton1.Caption = "OK"
End Select

Toggle2:
If Target.Address <> "$B$1" Then Exit Sub
Select Case Target.Value
    Case "1"
        Me.ToggleButton2.Value = True
        Me.ToggleButton2.BackColor = &HFF&
        Me.ToggleButton2.Caption = ""
    Case "2"
        Me.ToggleButton2.Value = False
        Me.ToggleButton2.BackColor = &HFF00FF
        Me.ToggleButton2.Caption = "OK"
End Select
End Sub

Re

C'est le codage de Thauthème pas le mien je lui laisse

Mort de rire !...

Pas de chrono ! on fait pas la course, on s'amuse !...

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("A1:B1")) Is Nothing Then Exit Sub 'limite le champ d'action à A1:B1
If Target.Address = "$A$1" Then 'si A1 est modifiée
    Select Case Target.Value
        Case "1"
            Me.ToggleButton1.Value = True
            Me.ToggleButton1.BackColor = &HFF&
            Me.ToggleButton1.Caption = ""
        Case "2"
            Me.ToggleButton1.Value = False
            Me.ToggleButton1.BackColor = &HFF00FF
            Me.ToggleButton1.Caption = "OK"
    End Select
End If
If Target.Address = "$B$1" Then 'si B1 est modifiée
    Select Case Target.Value
        Case "1"
            Me.ToggleButton2.Value = True
            Me.ToggleButton2.BackColor = &HFF&
            Me.ToggleButton2.Caption = ""
        Case "2"
            Me.ToggleButton2.Value = False
            Me.ToggleButton2.BackColor = &HFF00FF
            Me.ToggleButton2.Caption = "OK"
    End Select
End If
End Sub

Bon bah voilà j'ai tout compris encore j'ai eu un doute a un moment, j'avais oublié de désactiver mode création alors me suis dit WTF ça fonctionne plus mdrrr

Cela fait toujours plaisir de trouver des Cadors en VBA.

Rechercher des sujets similaires à "questions controle activex togglebutton button"