S
Stéphane D
Guest
Bonsoir le Forum,
j'ai un petit problème avec les 3 macros ci dessous:
dans la première macro, je crée des checkbox dans la colonne "I ";
dans la deuxième macro, je les supprime toutes;
et dans la 3ème macro, je voudrai faire changer de statut les cases cochées en cases non cochées... mais bizarrement Excel ne retrouve aucun object en dissant que la collection est vide !!!
Que faire ?
N'ai-je pas créé le bon type de Checkbox avec la macro "CreateCBx?
Ou y a t-il un problème dans le code de la macros "ResetCBx" ??
un coup de pouce serait le bienvenu
Merci & Bonne soirée
Sub CreateCBx()
'Insertion des CheckBox
Dim Plage As Range, CellCbx As Range
Dim Cbx As OLEObject
Dim L As Double, T As Double, W As Double, H As Double
Set Plage = Range("A2:A" & Range("A65536").End(xlUp).Row).Offset(0, 8)
For Each Cells In Plage2
L = CellCbx.Left
T = Cellcbx2.Top
W = CellCbx.Width
H = CellCbx.Height
Set Cbx = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
Left:=L, Top:=T, Width:=W, Height:=H)
Next CellCbx
End Sub
'********************
Sub DeleteCBx()
'Suppression des Checkbox
Sheets("General").Activate
Dim Plage1 As Range, Cells1 As Range
Set Plage1 = Range("I2:I" & Range("I2").End(xlDown).Row)
For Each Cells1 In Plage1
ActiveSheet.OLEObjects.Delete
Next Cells1
End Sub
'*****************************
Sub ResetCBx()
'Décocher toutes les Cases à cocher de General
Dim OLEObj As OLEObject
Sheets("General").Activate
For Each OLEObj In ActiveSheet.OLEObjects
If TypeOf OLEObj.Object Is MSForms.CheckBox Then
OLEObj.Object = False
End If
Next OLEObj
End Sub
j'ai un petit problème avec les 3 macros ci dessous:
dans la première macro, je crée des checkbox dans la colonne "I ";
dans la deuxième macro, je les supprime toutes;
et dans la 3ème macro, je voudrai faire changer de statut les cases cochées en cases non cochées... mais bizarrement Excel ne retrouve aucun object en dissant que la collection est vide !!!
Que faire ?
N'ai-je pas créé le bon type de Checkbox avec la macro "CreateCBx?
Ou y a t-il un problème dans le code de la macros "ResetCBx" ??
un coup de pouce serait le bienvenu
Merci & Bonne soirée
Sub CreateCBx()
'Insertion des CheckBox
Dim Plage As Range, CellCbx As Range
Dim Cbx As OLEObject
Dim L As Double, T As Double, W As Double, H As Double
Set Plage = Range("A2:A" & Range("A65536").End(xlUp).Row).Offset(0, 8)
For Each Cells In Plage2
L = CellCbx.Left
T = Cellcbx2.Top
W = CellCbx.Width
H = CellCbx.Height
Set Cbx = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
Left:=L, Top:=T, Width:=W, Height:=H)
Next CellCbx
End Sub
'********************
Sub DeleteCBx()
'Suppression des Checkbox
Sheets("General").Activate
Dim Plage1 As Range, Cells1 As Range
Set Plage1 = Range("I2:I" & Range("I2").End(xlDown).Row)
For Each Cells1 In Plage1
ActiveSheet.OLEObjects.Delete
Next Cells1
End Sub
'*****************************
Sub ResetCBx()
'Décocher toutes les Cases à cocher de General
Dim OLEObj As OLEObject
Sheets("General").Activate
For Each OLEObj In ActiveSheet.OLEObjects
If TypeOf OLEObj.Object Is MSForms.CheckBox Then
OLEObj.Object = False
End If
Next OLEObj
End Sub