Sub Mettre_en_forme()
Dim P As Range, n&, col%, c As Range, c1 As Range, lig&
Set P = ActiveSheet.UsedRange
n = Application.CountIf(Cells, "N°")
If n = 0 Then Exit Sub 'sécurité
Application.ScreenUpdating = False
col = P.Column + P.Columns.Count
For n = 1 To n
If c Is Nothing Then
Set c = Cells.Find("N°", , xlValues, , xlByRows)
If Application.CountIf(Rows(c.Row), c) > 1 Then Exit Sub
Else
Set c = P.Find("N°", c)
End If
Set c1 = Rows(c.Row).Find("Crs.", c)
If Not c1 Is Nothing Then
lig = c.CurrentRegion.Rows.Count
c.Resize(lig).Copy Cells(c.Row, col) 'facultatif
c1.Resize(lig, col - c1.Column).Cut Cells(c.Row, col + 1)
End If
Next
Range(Columns(col), Columns(Columns.Count)).AutoFit 'ajustement largeur
End Sub