Private Sub Worksheet_Change(ByVal Target As Range)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
If Application.Intersect(Target, Application.Union(Range("B2"), Range("E2"))) Is Nothing Then Exit Sub 'si le changement à lieu ailleurs que dans B2 ou E2, sort de la procédure
If Range("B2") <> "" And Range("E2") <> "" Then 'condition 1 : si B2 et E2 ne sont pas vides
Me.ComboBox1.Clear 'vide la ComboBox1
With Sheets("Bilan") 'prend en compte l'onglet "Bilan"
dl = .Cells(Application.Rows.Count, 2).End(xlUp).Row 'définit la dernière ligne dl de la colonne 2 (=B)
Set pl = .Range("B4:B" & dl) 'définit la plage pl
.Range("A3").AutoFilter 'active le filtre automatique
'filtre la colonne G (Planche) avec la valeur en E2 (au format nombre 2 décimales) comme critère
.Range("A3").AutoFilter Field:=7, Criteria1:=Format(Range("E2").Value, "0.00")
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe àla ligne suivante
For Each cel In pl.SpecialCells(xlCellTypeVisible) 'boucle sur toutes les cellules cel de la plage pl visible (génère une erreur si aucune cellule visible)
If Err <> 0 Then 'condition 2 : si une erreur a été générée
Err = 0 'annule l'erreur
MsgBox "Il n'y a aucun sauteur avec une planche à " & Range("E2").Value & " !" 'message
Exit Sub 'sort de la procédure
End If 'fin de la condition 2
On Error GoTo 0 'annule la gestion des erreurs
If cel.Offset(0, Range("B2").Value + 6).Value <> "" Then 'condition 3 : si la cellule corespondant à l'essai n'est pas vide
Me.ComboBox1.AddItem cel.Offset(0, 1).Value & " " & cel.Value 'ajoute prénom et nom à la ComboBox1
End If 'fin de la condition 3
Next cel 'prochaine cellule de la boucle
.Range("A3").AutoFilter 'désactive le filtre automatique
'si la ComboBox1 est vide, message
If Me.ComboBox1.ListCount = 0 Then MsgBox "Il n'y a aucun sauteur avec une planche à " & Range("E2").Value & ", Essai numéro " & Range("B2").Value & " !"
End With 'fin de la prise en compte de l'onglet "Bilan"
End If 'fin de la condition 1
End Sub