Option Explicit
Sub tri()
Dim sh As Worksheet, c As Range, m() As String, i As Byte
Dim t As Byte, u As Byte, temp As String
Application.ScreenUpdating = False
i = 1
For Each c In Range("B6:B" & Range("B65536").End(xlUp).Row)
ReDim Preserve m(1 To i)
m(i) = c.Value & " " & c.Offset(0, 1).Value
i = i + 1
Next c
For i = LBound(m) To UBound(m)
For Each sh In Worksheets
If sh.Name = m(i) Then
sh.Move Sheets(i)
Exit For
End If
Next sh
Next i
Sheets("Récapitulatif").Move Sheets(1)
Sheets("Type").Move , Sheets(Sheets.Count)
Application.ScreenUpdating = True
End Sub