Bonjour,
Un code à modifier comme suivant qui initialise que les 3 "ComboBox" type, intervenant et zone :
Private Sub UserForm_Initialize()
For i = 2 To 3
ComboBox_type.AddItem Sheets("Annexe").Cells(i, 1)
Next
For i = 2 To 11
ComboBox_intervenant.AddItem Sheets("Annexe").Cells(i, 2)
Next
For i = 2 To 8
ComboBox_zone.AddItem Sheets("Annexe").Cells(i, 3)
Next
End Sub
Et un code à ajouter qui initialise le "ComboBox" equipement au moment du changement de zone :
Private Sub ComboBox_zone_Change()
ComboBox_equipement.Clear
Select Case ComboBox_zone.ListIndex
Case 0:
For i = 2 To 9
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 4)
Next
Case 1:
For i = 2 To 3
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 5)
Next
Case 2:
For i = 2 To 5
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 6)
Next
Case 3:
For i = 2 To 3
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 7)
Next
Case 4:
For i = 2 To 5
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 8)
Next
Case 5:
For i = 2 To 5
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 9)
Next
Case 6
For i = 2 To 6
ComboBox_equipement.AddItem Sheets("Annexe").Cells(i, 10)
Next
End Select
End Sub
Il y a surement d'autres manières de faire. Mais je n'ai pas cherché à optimiser et ai repris ton code et l'ai réorgnisé un peu. Teste et dis-nous si cela correspond à ton attente.