Sub MacroCopy()
Dim Derl As Integer, Deb As String, Fin As String
While Deb = ""
Deb = InputBox("entrez le code min")
Wend
While Fin = ""
Fin = InputBox("entrez le code max")
Wend
'**** suppression des données feuille 3
Worksheets("Feuil3").Range("A1").CurrentRegion.ClearContents
'** détermination de la dernière ligne remplie feuille PWOProcess
Derl = Worksheets("PWOProcess").Range("B" & Rows.Count).End(xlUp).Row
'** Tri de la feuille PWOProcess selon les 2critères saisis
Worksheets("PWOProcess").Range("A2:AD" & Derl).AutoFilter Field:=2, Criteria1:=">=" & Deb, Operator:=xlAnd, Criteria2:="<=" & Fin
'** Copie de la ligne d'en-têtes dans la feuille 3
Worksheets("PWOProcess").Range("A1:AD1").Copy Worksheets("Feuil3").Range("A1")
'** Copie des lignes sélectionnées
Worksheets("PWOProcess").Range("A2:AD" & Derl).SpecialCells(xlCellTypeVisible).Copy
'** collage des données dans la feuille 3 en 3 passes pour les valeurs(et non les formules),
'** la largeur de colonnes et les formats de cellules
Worksheets("Feuil3").Range("A2").PasteSpecial Paste:=xlPasteValues
Worksheets("Feuil3").Range("A2").PasteSpecial Paste:=xlPasteColumnWidths
Worksheets("Feuil3").Range("A2").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False ' empêche le cadre de sélection
'** affichage total de la feuille PWOProcess
Worksheets("PWOProcess").ShowAllData
End Sub