re,
Ou là là , ben tes explications depuis le début n'etaient celles-là donc évidemment le code n'était pas correct. Remplace le par celui-ci :
Private Sub Worksheet_Change(ByVal Target As Range)
'Macro Dan pour Kris0311 le 21/08/09
If Not Intersect(Target, Range("B20:B46")) Is Nothing Then
If Target = "" Then
Sheets("Feuil1").Cells(Target.Row - 18, 1) = ""
Else: Sheets("Feuil1").Cells(Target.Row - 18, 1) = Target
End If
End If
End Sub
Maintenant pour le 0, là je comprends rien car que je sache ton excel est pas différent de celui des autres... reste à voir ton véritable fichier.
J'ai ajouté une instruction pour que tu ne vois plus de 0 mais de mon coté je n'ai jamais de 0. Je suppose que tu as bien enlevé la formule dans la colonne A de ta feuille 1.
Dan