Private Sub CommandButton2_Click()
Dim NLigne As Integer, NbCol As Byte
Dim Rech
Application.ScreenUpdating = False
NLigne = 3
Do
Set Rech = Range(Cells(NLigne, 2), Cells(NLigne, Cells(NLigne, 1).End(xlToRight).Column)).Find(What:='90', LookIn:=xlValues, Lookat:=xlWhole)
If Not Rech Is Nothing Then
Rows(NLigne + 1).Insert Shift:=xlDown
Range(Cells(NLigne, Rech.Column), Cells(NLigne, Cells(NLigne, Rech.Column).End(xlToRight).Column)).Cut Destination:=Cells(NLigne + 1, 1)
ElseIf Cells(NLigne + 1, 1) < > 90 Then
Set Rech = Range(Cells(NLigne + 1, 1), Cells(NLigne + 1, Cells(NLigne + 1, 1).End(xlToRight).Column)).Find(What:='90', LookIn:=xlValues, Lookat:=xlWhole)
If Not Rech Is Nothing Then
Range(Cells(NLigne + 1, 1), Cells(NLigne + 1, Rech.Column - 1)).Cut Destination:=Cells(NLigne, 1).End(xlToRight).Offset(0, 1)
Range(Cells(NLigne + 1, 1), Cells(NLigne + 1, Rech.Column - 1)).Delete Shift:=xlToLeft
End If
End If
NLigne = NLigne + 1
Loop While NLigne < Range('A65536').End(xlUp).Row + 1
Application.ScreenUpdating = True
End Sub