Sub Coche_Decoche()
Dim Libelle As String
Dim ligne As Integer
Dim ListCol As String
Libelle = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
ligne = ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row + 1
If Libelle = "Cocher" Then
Range("t" & ligne) = Chr(120)
Range("s" & ligne) = 0
Libelle = "Décocher tout"
Else
Range("t" & ligne) = Chr(111)
Range("s" & ligne) = 1
Libelle = "Cocher"
End If
ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text = Libelle
Select Case ligne
Case 5
ListCol = "q:Ah"
Case 7
ListCol = "ak:bb"
Case 9
ListCol = "be:bv"
Case 11
ListCol = "by:Cp"
Case 13
ListCol = "cs:Dj"
Case 15
ListCol = "dm:dy"
End Select
Colonnes "t" & ligne, ListCol
End Sub