Merci Tibo de ta suggestion.
J'ai essayé de la mettre en oeuvre, mais ça ne fonctionne pas, à savoir que ça ne recopie plus rien.
Voici ci-dessous, d'abord le début de la macro qui fonctionne mais écrase la MFC de la BD, et ensuite la même macro modifiée au niveau de la copie pour ne copier que le format des nombres et leur valeur sans modifier la mise en forme :
MACRO 1 :
Dim DerLigne As Long, DerL As Long, Coll As Long
Dim Cl As Range
Application.ScreenUpdating = False
Sheets('LISTES').Select
DerLigne = Range('AB65536').End(xlUp).Row
For Each Cl In Range('AB1:AB' & CStr(DerLigne))
If Cl.Value = 'X' Then
Cl.Select
Coll = ActiveCell.Row
Range('C' & CStr(Coll) & ':L' & CStr(Coll)).Select
Selection.Copy
Sheets('SAISIE').Select
DerL = Range('F65536').End(xlUp).Offset(1, 0).Row
Range('C' & CStr(DerL) & ':L' & CStr(DerL)).Select
ActiveSheet.Paste
End If
Application.CutCopyMode = False
Sheets('LISTES').Select
Next
******* MACRO 2 **********
Dim DerLigne As Long, DerL As Long, Coll As Long
Dim Cl As Range
Application.ScreenUpdating = False
Sheets('LISTES').Select
DerLigne = Range('AB65536').End(xlUp).Row
For Each Cl In Range('AB1:AB' & CStr(DerLigne))
If Cl.Value = 'X' Then
Cl.Select
Coll = ActiveCell.Row
Range('C' & CStr(Coll) & ':L' & CStr(Coll)).Select
Selection.Copy
Sheets('SAISIE').Select
DerL = Range('F65536').End(xlUp).Offset(1, 0).Row
Range('C' & CStr(DerL) & ':L' & CStr(DerL)).Select
ActiveSheet.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
End If
Application.CutCopyMode = False
Sheets('LISTES').Select
Next
A l'évidence la partie 'collage' n'est pas bonne.
Merci à celui ou celle qui voudra bien me corroger.
Bonne soirée à tous,
Olivier_HTP