Sub CheckBox_Click()
Dim s As Shape, x$, r As Range
Set s = ActiveSheet.Shapes(Application.Caller)
x = s.TextFrame.Characters.Text 'la matière
Set r = Cells(15, Application.Match(x, Rows(15), 0) - 1)
r.Resize(, 4).EntireColumn.Hidden = s.ControlFormat.Value = xlOff 'masque/affiche les 4 colonnes
If r(2, 3) > 0 Then ThisWorkbook.Names.Add Replace(x, " ", ""), r(2, 3).Value 'stockage dans un nom défini
If s.ControlFormat.Value = xlOff Then r(2, 3) = 0 Else r(2, 3) = Evaluate(Replace(x, " ", ""))
End Sub