Ok merci bcp D3D9X juste un souci mineur et comme un gros discoure............
Je met le code pour savoir quoi modifier
Private Sub CheckBox11_Click()
updateResultat
End Sub
Private Sub CheckBox13_Click()
updateResultat
End Sub
Private Sub CheckBox14_Click()
updateResultat
End Sub
Private Sub CheckBox15_Click()
updateResultat
End Sub
Private Sub CheckBox16_Click()
updateResultat
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub CommandButton3_Click()
Dim ole1 As Control
For Each ole1 In UserForm1.Controls
If Left$(ole1.Name, 8) = "CheckBox" Then ole1.Value = True
Next
End Sub
Private Sub CommandButton4_Click()
Dim ole1 As Control
For Each ole1 In UserForm1.Controls
If Left$(ole1.Name, 8) = "CheckBox" Then ole1.Value = False
Next
End Sub
Private Sub UserForm_Initialize()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
If LCase(ws.Name) Like "*course *" Then
listCourses.AddItem ws.Name
End If
Next ws
End Sub
Private Sub updateResultat()
Dim critere1 As Boolean, critere2 As Boolean, critere3 As Boolean, critere4 As Boolean, critere5 As Boolean
Dim respectCriteres As Boolean
respectCriteres = False
listResultats.Clear
If listCourses.ListIndex = -1 Then Exit Sub 'on a pas sélectionné de course
critere1 = CheckBox11.Value 'AG
critere2 = CheckBox13.Value 'S
critere3 = CheckBox14.Value 'Y
critere4 = CheckBox15.Value 'AB
critere5 = CheckBox16.Value 'AF
Set ws = ActiveWorkbook.Sheets(listCourses.List(listCourses.ListIndex))
Dim numLigne As Long
With ws
For numLigne = 2 To ws.Cells(Rows.Count, "B").End(xlUp).Row
If critere1 Or critere2 Or critere3 Or critere4 Or critere5 Then respectCriteres = True 'Si au moins un critère est spécifié on met True
If critere1 And .Cells(numLigne, "AG") <> True Then respectCriteres = False
If critere2 And .Cells(numLigne, "S") <> True Then respectCriteres = False
If critere3 And .Cells(numLigne, "Y") <> True Then respectCriteres = False
If critere4 And .Cells(numLigne, "AB") <> True Then respectCriteres = False
If critere5 And .Cells(numLigne, "AF") <> True Then respectCriteres = False
If respectCriteres = True Then addResponse (.Cells(numLigne, "B").Value)
Next numLigne
End With
End Sub
Private Sub addResponse(ByVal nomResultat As String)
Dim i As Integer
If listResultats.ListCount = 0 Then
listResultats.AddItem nomResultat
Else
For i = 0 To listResultats.ListCount - 1
If listResultats.List(i) = nomResultat Then
'On écrit rien et on sort
Exit Sub
End If
Next i
'On a testé tous les éléments, il n'est pas présent
listResultats.AddItem nomResultat
End If
End Sub