Ok. Remplace la macro validation() par celle-ci :
Sub Validation()
'
' Validation Macro
'
'
Application.ScreenUpdating = False
Sheets("DEVIS").Range("A26:H26").Copy
With Sheets("Historique devis reserv.")
.Range("A3:H3").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
.Rows("3:3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End With
Sheets("DEVIS").Range("A29:E36").Copy
With Sheets("MVTSTOCK")
.Cells.EntireRow.Hidden = False
.Range("A" & .Range("A65536").End(xlUp).Row + 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
derlig = .Range("A65536").End(xlUp).Row + 1
.Range("A" & derlig & ":A65536").EntireRow.Hidden = True
For i = 5 To derlig - 1
If Application.WorksheetFunction.CountBlank(.Range("A" & i & ":E" & i)) > 1 Then .Rows(i).EntireRow.Hidden = True
Next i
End With
Sheets("DEVIS").Select
' ExecuteExcel4Macro "PRINT(1,,,3,,,,,,,,2,,,TRUE,,FALSE)"
Range("A9:G16,E9,E4:E5").ClearContents
Range("E3") = Range("E3") + 1
End Sub
EDIT : code modifié un tantinet