Bonjour à tous, BsAlv, scraper, BrunoM45,
Merci pour vos propositions, j'ai du mal à les adapter à mon projet, que j'hésite à vous envoyer car il commence à être très volumineux et ce serait long de vous plonger dedans je pense.
J'essaye juste avec le code de remplissage de ma combobox (ListePatients), si besoin je vous envoie tout le fichier avec le userform:
Private Sub RemplissageListeBilans()
Dim ws As Worksheet, NomPatient, Trouve
ListeBilans.Clear
NomPatient = ChoixPatients.Value
For Each ws In Worksheets
If ws.Name Like "Bilan *" Then
Set Trouve = ws.Columns(2).Cells.Find(what:=NomPatient, LookAt:=xlWhole)
If Trouve Is Nothing Then
Else
ListeBilans.AddItem ws.Name
End If
End If
Next
End Sub
En fait pour chaque patient sélectionné, je viens vérifier les feuilles bilanX et voir s'il a son nom dedans. Le patient qui a trois bilans aura son nom dans Bilan1, Bilan2 et Bilan3. Dans ce cas ListeBilans doit se remplir des 3 bilans, du plus récent au plus ancient, et sélectionner le plus ancient.
A noter que si pour une raison improbable, un utilisateur décale les feuilles entre elles dans le classeur et met "Bilan4, Bilan1, Bilan2, Bilan3" il faut que la combobox continue à afficher dans le bon ordre les bilans...