1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
Public AireTableau As Range, PL As Range 'déclare la variable PL (PLage)
Public C As XlColorIndex 'déclare la variable C (Couleur)
Public AireOnglets As Range
Public CbA As OLEObject, CbB As OLEObject, CbC As OLEObject, CbD As OLEObject, CbE As OLEObject
Sub TestCheckBox()
Dim I As Integer
Dim Sh As Worksheet
Set AireOnglets = Sheets("Paramètres").ListObjects("TabledesOnglets").ListColumns("Table des onglets").DataBodyRange
With Sheets("Feuil1")
Set CbA = .OLEObjects("CheckBoxA"): Set CbB = .OLEObjects("CheckBoxB")
Set CbC = .OLEObjects("CheckBoxC"): Set CbD = .OLEObjects("CheckBoxD")
Set CbE = .OLEObjects("CheckBoxE")
End With
C = 1
For I = 1 To AireOnglets.Count
Set Sh = Sheets(AireOnglets(I).Value)
With Sh
Set AireTableau = .Range("B5:F14")
Set PL = .Range("B8,C7,C13,D11,E6,F5,F10")
End With
AireTableau.Interior.ColorIndex = xlNone
If CbA.Object.Value = True Then AireTableau.Columns(1).Cells.Interior.Color = C
If CbB.Object.Value = True Then AireTableau.Columns(2).Cells.Interior.Color = C
If CbC.Object.Value = True Then AireTableau.Columns(3).Cells.Interior.Color = C
If CbD.Object.Value = True Then AireTableau.Columns(4).Cells.Interior.Color = C
If CbE.Object.Value = True Then AireTableau.Columns(5).Cells.Interior.Color = C
PL.Interior.ColorIndex = C
Set PL = Nothing
Set Sh = Nothing
Next I
Set CbA = Nothing: Set CbB = Nothing: Set CbC = Nothing: Set CbD = Nothing: Set CbE = Nothing
Set AireOnglets = Nothing
End Sub |