Je cherche à copier une zone de cellules d'une feuille à une autre à l'aide de la macro suivante, implantée dans la feuille "Feuil7". Je suis obligé de désactiver les calculs sur plusieurs feuilles et de déprotéger la feuille destination. L'erreur "1004" se produit quelque soit la forme que je donne au Range
***********
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim LgHistorap As Integer
'Quitte à sortir de la Sub, je le ferais en premier, surtout que tu ne rétablis pas les EnableCalculation, et surtout la protection de la feuille...
If Target.Column <> 1 Then Exit Sub
If Target.Row < 3 Or Target.Row > Cells(1, 1).Value Then Exit Sub
'Je sais pas si c'est voulu, mais là, tu fais appel à la feuil7...
Worksheets("Feuil2").EnableCalculation = False
Worksheets("Feuil3").EnableCalculation = False
Worksheets("Feuil4").EnableCalculation = False
Worksheets("Feuil1").EnableCalculation = False
Sheets("Feuil1").Unprotect "motdepasse"
Pourquoi passer par ActiveCell plutôt que Target ?
LgHistorap = Sheets("Feuil1").Cells(1, 1).Value + 3
' range ok
Range(Cells(Target.Row, 1), Cells(Target.Row, 17)).Copy Sheets("Feuil1").Range("A" & LgHistorap)
' je rétablis les possibilités de calculs et la protection
Cancel = True
Worksheets("Feuil2").EnableCalculation = True
Worksheets("Feuil3").EnableCalculation = True
Worksheets("Feuil4").EnableCalculation = True
Worksheets("Feuil1").EnableCalculation = True
Sheets("Feuil1").Protect "motdepasse"
End Sub