Private Sub Bok_Click()
Dim Nom$, L%, DateRecente, LigneRef%, Tdate(12), Année, Mois, DatePrévue, DateRetenue
Année = Year(Now)
DateRecente = -1
Nom = UserForm1.ComboBox1
Application.ScreenUpdating = False
For L = 3 To Range("E65500").End(xlUp).Row
If Cells(L, "E") = Nom Then
' Construction de la date prévue avec mois colonne F, année en cours et dernier jour du mois.
Mois = Application.Match(Cells(L, "F"), [TabMois], 0)
DatePrévue = CDate(Application.EDate(CDate("01/" & Mois & "/" & Year(Now)), 1) - 1)
' On retient la date la plus récente entre Prévue et Réalisée
If Cells(L, "G") < DatePrévue Then DateRetenue = DatePrévue Else DateRetenue = Cells(L, "G")
' Si la plus récente, on mémorise
If DateRetenue > DateRecente Then
DateRecente = Cells(L, "G")
LigneRef = L
End If
End If
Next L
Application.ScreenUpdating = False
' On range le résultat dans la feuille Résultat
Range(Cells(LigneRef, "E"), Cells(LigneRef, "H")).Select
With Sheets("Résultat")
DLR = .Range("A65500").End(xlUp).Row + 1
.Range("A" & DLR & ":D" & DLR) = Range("E" & LigneRef & ":H" & LigneRef).Value ' Copier Coller valeurs
End With
Unload UserForm1
End Sub