C
Chorizo
Guest
Bonjour à tous
Sur une feuille excel j'ai quelques checkbox. Lorsque j'en coche un, ce dernier prend pour Caption 'Accord' (ou 'Refus' pour ceux qui st décochés).
J'essai de reproduire la même chose avec des Togglebutton (car eux peuvent avoir l'option de ce déplacer et de ce dimentionner avec les cellules ce qui est tres pratique pour les utiliser avec le filtre auto ou un tri) sans résultats.
Merci de votre aide
Ci dessous les deux macros
La première mache avec des Checkbox (formulaires)
La deuxième plante avec des ToggleButton (boite à outils controles)
__________________________________________________________________
Sub Process_CheckBox()
Dim cBox As CheckBox
Dim LRow As Integer
Dim LRange As String
LName = Application.Caller
Set cBox = ActiveSheet.CheckBoxes(LName)
'Find row that checkbox resides in
LRow = cBox.TopLeftCell.Row
LRange = 'B' & CStr(LRow)
'Change date in column B, if checkbox is checked
If cBox.Value > 0 Then
ActiveSheet.Range(LRange).Value = 'Accord'
'Clear date in column B, if checkbox is unchecked
Else
ActiveSheet.Range(LRange).Value = 'Refus'
End If
If cBox.Value = True Then
Application.ShowWindowsInTaskbar = False
cBox.Caption = Range(LRange).Value
Else
Application.ShowWindowsInTaskbar = True
cBox.Caption = Range(LRange).Value
End If
End Sub
__________________________________________________________________
Sub Process_ToggleButton()
Dim tog As ToggleButton
Dim LRow As Integer
Dim LRange As String
LName = Application.Caller
Set tog = ActiveSheet.ToggleButtons(LName)[/#ffff00]
'Find row that checkbox resides in
LRow = tog.TopLeftCell.Row
LRange = 'e' & CStr(LRow)
'Change date in column B, if checkbox is checked
If tog.Value > 0 Then
ActiveSheet.Range(LRange).Value = 'Accord'
'Clear date in column B, if checkbox is unchecked
Else
ActiveSheet.Range(LRange).Value = 'Refus'
End If
If tog.Value = True Then
Application.ShowWindowsInTaskbar = False
tog.Caption = Range(LRange).Value
Else
Application.ShowWindowsInTaskbar = True
tog.Caption = Range(LRange).Value
End If
End Sub
Sur une feuille excel j'ai quelques checkbox. Lorsque j'en coche un, ce dernier prend pour Caption 'Accord' (ou 'Refus' pour ceux qui st décochés).
J'essai de reproduire la même chose avec des Togglebutton (car eux peuvent avoir l'option de ce déplacer et de ce dimentionner avec les cellules ce qui est tres pratique pour les utiliser avec le filtre auto ou un tri) sans résultats.
Merci de votre aide
Ci dessous les deux macros
La première mache avec des Checkbox (formulaires)
La deuxième plante avec des ToggleButton (boite à outils controles)
__________________________________________________________________
Sub Process_CheckBox()
Dim cBox As CheckBox
Dim LRow As Integer
Dim LRange As String
LName = Application.Caller
Set cBox = ActiveSheet.CheckBoxes(LName)
'Find row that checkbox resides in
LRow = cBox.TopLeftCell.Row
LRange = 'B' & CStr(LRow)
'Change date in column B, if checkbox is checked
If cBox.Value > 0 Then
ActiveSheet.Range(LRange).Value = 'Accord'
'Clear date in column B, if checkbox is unchecked
Else
ActiveSheet.Range(LRange).Value = 'Refus'
End If
If cBox.Value = True Then
Application.ShowWindowsInTaskbar = False
cBox.Caption = Range(LRange).Value
Else
Application.ShowWindowsInTaskbar = True
cBox.Caption = Range(LRange).Value
End If
End Sub
__________________________________________________________________
Sub Process_ToggleButton()
Dim tog As ToggleButton
Dim LRow As Integer
Dim LRange As String
LName = Application.Caller
Set tog = ActiveSheet.ToggleButtons(LName)[/#ffff00]
'Find row that checkbox resides in
LRow = tog.TopLeftCell.Row
LRange = 'e' & CStr(LRow)
'Change date in column B, if checkbox is checked
If tog.Value > 0 Then
ActiveSheet.Range(LRange).Value = 'Accord'
'Clear date in column B, if checkbox is unchecked
Else
ActiveSheet.Range(LRange).Value = 'Refus'
End If
If tog.Value = True Then
Application.ShowWindowsInTaskbar = False
tog.Caption = Range(LRange).Value
Else
Application.ShowWindowsInTaskbar = True
tog.Caption = Range(LRange).Value
End If
End Sub