Bonjour le forum,
Meilleurs voeux à tous,
Voilà je vien de faire un petit userform, avec une listbox a choix multiple, avec en option une CheckBox qui me permet de tout selectionner.
Mais j'ai un petit conflit, si je coche la CheckBox la valeur de ListBox1.ListIndex= -1 et mon message d'erreur " Selectionner au moin un nom" apparait systématiquement, sans prendre en compte que tout les items de la listbox sont bien cochés
Private Cocher As Boolean
Private Sub UserForm_Initialize()
ListBox1.List() = [Liste_nom].Resize(, 3).Value
ListBox1.ListIndex = -1
End Sub
Private Sub CheckBox1_Click()
Static Cocher As Boolean
Cocher = Not Cocher
For i = ListBox1.ListCount - 1 To 0 Step -1
ListBox1.Selected(i) = Cocher
Next i
End Sub
Private Sub CommandButton1_Click()
Dim a As Integer, b As Integer, i As Integer, j As Integer, x As Integer
Application.ScreenUpdating = False
b = TextBox1.Value
i = Sheets.Count
If Sheets.Count = 3 Then Sheets(3).Delete
Sheets("Modèle").Copy After:=Sheets(2)
If ListBox1.ListIndex > -1 Or Cocher = True Then
With Me.ListBox1
For j = 0 To .ListCount - 1
If .Selected(j) = True Then
With Sheets(3)
[Nom].Value = ListBox1.List(j, 1)
[Prenom].Value = ListBox1.List(j, 2)
Unload Me
For a = 1 To b
Sheets(3).PrintOut Preview:=True
Next a
End With
End If
Next j
End With
Else
MsgBox ("Selectionner au moin un nom")
End If
Sheets(3).Delete
Application.ScreenUpdating = True
End Sub
j'ai essayer de déclarer le fait que ma checkbox soit cocher en booleen mais la valeur reste toujours false
Je vous laisse mon fichier et mon code, si vous avez une piste,