Option Explicit
Sub trie()
Dim r As Range
Dim i As Long
Dim NoLigne As Long
Dim NoColonne As Long
Dim f As WorksheetFunction
Application.ScreenUpdating = False
Range("L10:N65536").ClearContents ' Effacement de la copie des heures
Range("A1:J5").Copy Range("A9") ' copie des cellules A1 à J5 dans la cellule A9
Set f = Application.WorksheetFunction
For i = 10 To 65536 ' boucle de la ligne 10 jusqu'à la fin
If Range("J13") = "" Then ' si la cellule J13 ( derniére cellule ) est atteinte
Range("A9:J13").ClearContents ' les cellules A9 à J13 sont éffacées
Exit Sub ' sortie de la macro
End If ' fin si
If Cells(i, 12) = "" Then 'if la cellule ligne i est colonne 12 (L) est vide alors
Cells(i, 12) = f.Min([B10:J13]) 'la cellule prend la plus petite heure
End If ' fin si
For Each r In Range("B10:J13") ' boucle analysant les cellules B10 à J13 ( copiées)
If r = Cells(i, 12) Then ' if la cellule r est égale à la cellule contenant la plus petite heure alors
r.ClearContents ' la cellule est éffacée
r.Select ' elle est selectionnée
NoLigne = ActiveCell.Row ' numéro de ligne
NoColonne = ActiveCell.Column ' numéro de colonne
Cells(i, 13) = Cells(9, NoColonne) ' la cellule ligne i colonne 13 ( M ) est égale à la colonne et ligne 9 ( course)
Cells(i, 14) = Cells(NoLigne, 1) ' la cellule ligne i colonne 14 ( N ) est égale à la colonne 1 et ligne ( réunion)
Exit For ' sortie de la boucle
End If ' fin si
Next r 'boucle r
Next i ' boucle i
Application.ScreenUpdating = True
End Sub