Bonjour Hervé et le Forum .... sweet Home,
Hervé, j'ai essayé ton code mais je n'arrive à plus rien coller du tout....
Excuse moi, je dois être bouché, mais je ne vois pas où tu as modifié le code du 'collé'?
et je ne comprends pas à quoi sert la Msgbox.
La macro que j'ai mise étant incomplète, je mets ci-dessous, la macro d'origine, qui tourne bien depuis plus d'un an, et qui donc copie (par collage spécial) sur la feuille 'saisie' la plage des colonnes adjacentes C:L copiée depuis la feuille 'listes' :
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
'Collage spécial pour ne pas modifier la MFC de la feuille SAISIE :
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Application.CutCopyMode = False
Sheets('LISTES').Select
Next
Application.Run 'RESET'
Sheets('SAISIE').Select
Application.Run 'DERNIERE_LIGNE'
Application.ScreenUpdating = True
End Sub
Je voudrais que la nouvelle macro fasse la même chose, à la différence que la plage à copier pour chaque ligne sélectionnée dans la feuille 'listes', comprend la plage C à L ET en plus la colonne Q.
Le tout étant à coller dans la feuille 'saisie' dans la plage C:L ET dans la colonne Q.(afin de ne pas écraser le contenu des colonnes M
, le contenu de celles-ci n'étant pas le même dans les 2 feuilles)
J'espère avoir été plus précis que précédemment.
Merci de ton aide.
Bonne fin de journée,
Olivier_HTP