Bonjour,
J'ai des contrôles active X dans une feuille (pas de form) boutons, checkbox et une liste de choix
Je les initialise dans "ThisWorkBook"
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
| Private Sub Workbook_activate()
Dim wksChoixFact As Worksheet
Dim cboSociete As MSForms.ComboBox
Set wksChoixFact = Worksheets("Créationfacture")
wksChoixFact.Activate
ActiveWindow.DisplayGridlines = False
wksChoixFact.Range("A1:D23").Interior.Color = RGB(255, 255, 160)
' Déclarer explicitement les combobox
Set cboSociete = wksChoixFact.OLEObjects("cboSociete").Object
' Remplis la liste de choix société
With cboSociete
.Clear
.List = Worksheets("Société").Range("C2:C24").Value
.ListIndex = 0
End With
''Init CheckBox
Dim c As Object
For Each c In ActiveSheet.OLEObjects
If InStr(1, c.Name, "Chk") > 0 Then
c.Object.Enabled = True
c.Object = False
c.Object.BackColor = RGB(255, 255, 160)
End If
Next
End Sub |
Cela fonctionne sauf si j'ai un autre classeur ouvert. lors de la fermeture de ce dernier cela plante sur cette ligne
If InStr(1, c.Name, "Chk") > 0 Then
Cela ne le fait pas tout le temps et difficile à reproduire.
Est-il judicieux d'initialiser une feuille dans ThisWorkBook, si non comment initialise la feuille en question
Merci d'avance je reste dispo
FikoU
Partager