Sub CopieF2versF1()
Dim Titre1 As Range, Titre2 As Range, xcell As Range
Dim N As Long
With Sheets("Feuil a trier")
Set Titre2 = .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft))
End With
With Sheets("Feuil generale")
Set Titre1 = .Range(.Cells(1, 1), .Cells(1, .Columns.Count).End(xlToLeft))
.Range(.Cells(2, 1), .Cells(.Rows.Count, .Cells(1, .Columns.Count).End(xlToLeft).Column)).Clear
For Each xcell In Titre2
N = -1
On Error Resume Next
N = Application.WorksheetFunction.Match(xcell, Titre1, 0)
If N = -1 Then
' titre2 ne figure pas dans titre1 - on rajoute la colonne
' à la fin des colonnes de "Feuil generale"
xcell.EntireColumn.Copy .Cells(1, .Columns.Count).End(xlToLeft).Offset(, 1).EntireColumn
Else
' titre2 figure dans titre1 - on le colle dans la bonne colonne
xcell.EntireColumn.Copy .Columns(N)
End If
Next xcell
End With
End Sub