Bonjour,
J'ai un code VBA qui génère une centaine de checkbox, mais celles ci ont un fond blanc et un nom "CheckBox n°i" que j'aimerai enlever, c'est à dire les rendre transparentes et sans nom. Mais je n'arrive pas a compléter mon code pour qu'il s'en charge automatiquement, sauriez vous m'aider ? Voilà mon code, ainsi qu'une photo de ce qu'il donne :
Sub CheckBoxBDDDFor()
Dim ligne As Integer
Dim Chekbox As OLEObject
Dim Target As Range
ligne = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Row - 112
Dim n As Integer
Dim CB As OLEObject
While n < 110
If Sheets("DetailsProjets").Cells(ligne, 9).Value = "Faux" Then
Set Target = Sheets("DetailsProjets").Cells(ligne, 9)
Set Chekbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
With Chekbox
.LinkedCell = "DetailsProjets!I" & ligne
.Object.Value = False
End With
End If
J'ai un code VBA qui génère une centaine de checkbox, mais celles ci ont un fond blanc et un nom "CheckBox n°i" que j'aimerai enlever, c'est à dire les rendre transparentes et sans nom. Mais je n'arrive pas a compléter mon code pour qu'il s'en charge automatiquement, sauriez vous m'aider ? Voilà mon code, ainsi qu'une photo de ce qu'il donne :
Sub CheckBoxBDDDFor()
Dim ligne As Integer
Dim Chekbox As OLEObject
Dim Target As Range
ligne = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookIn:=xlFormulas).Row - 112
Dim n As Integer
Dim CB As OLEObject
While n < 110
If Sheets("DetailsProjets").Cells(ligne, 9).Value = "Faux" Then
Set Target = Sheets("DetailsProjets").Cells(ligne, 9)
Set Chekbox = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Left:=Target.Left, Top:=Target.Top, Width:=Target.Width, Height:=Target.Height)
With Chekbox
.LinkedCell = "DetailsProjets!I" & ligne
.Object.Value = False
End With
End If