Bonjour,
Il semble plus approprié de coller toutes les valeurs directement et de les conserver ensuite, sachant qu'il prend 2 secondes à l'utilisateur de les supprimer le cas échéant.
Voici une alternative avec copie de toutes les valeurs en colonne 1 de la feuille 1 puis une macro évènementielle pour parcourir une à une les valeurs obtenues :
'Code à placer dans un module standard
Sub cal()
Dim dl&
With Worksheets("Feuil2")
dl = .Cells(.Rows.Count, "A").End(xlUp).Row - 1
Worksheets("sh1").Range("A2").resize(dl).Value = .columns(1).resize(dl).value
application.goto worksheets("sh1").range("A2")
End With
End Sub
'Code à placer dans le module de la "sh1"
private sub worksheet_selectionchange(byval target as range)
dim r as range
with me
dl = .cells(.rows.count, 1).end(xlup).row
set r = intersect(target, .columns(1).resize(dl))
if not r is nothing then
if r.cells.count = 1 then
PrevColor = r.interior.color
r.interior.color = vbgreen
application.wait now + timevalue("00:00:01")
r.interior.color = PrevColor
r.offset(1).activate
end if
end if
end with
end sub
Cdlt,