Option Explicit
Sub OrdreColonnes()
Dim TTit(), CDst%, COrg%
TTit = [R1:R13].Value
For CDst = 1 To UBound(TTit, 1)
On Error Resume Next
COrg = WorksheetFunction.Match(TTit(CDst, 1), [A1:M1], 0)
If Err Then COrg = 0
On Error GoTo 0
If COrg > CDst Then
Columns(COrg).Cut
Columns(CDst).Insert
End If
Next CDst
End Sub