Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Une erreur "range"

  • Initiateur de la discussion Initiateur de la discussion PaulMic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

PaulMic

Guest
Bonjour et merci d'accueillir ma question.
Excel 2007 ; Xp pro

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 Index As Integer
Dim LigneClick As Long, LgHistorap As Long, ColonneClick As Integer

Worksheets("Feuil2").EnableCalculation = False
Worksheets("Feuil3").EnableCalculation = False
Worksheets("Feuil4").EnableCalculation = False
Worksheets("Feuil1").EnableCalculation = False
Sheets("Feuil1").Unprotect "motdepasse"

LigneClick = Application.ActiveCell.Row
ColonneClick = Application.ActiveCell.Column
LgHistorap = Sheets("Feuil1").Cells(1, 1).Value + 3
If ColonneClick <> 1 Then Exit Sub
If LigneClick < 3 Or LigneClick > Cells(1, 1).Value Then Exit Sub
' range ok
Range(Cells(LigneClick, 1), Cells(LigneClick, 17)).Select
Selection.Copy
' changement de feuille
Sheets("Feuil1").Activate
'******* je ne passe sous aucune des trois formes du range ci-dessous

'Range("A" & CStr(LgHistorap)).Select

'Range(Cells(LgHistorap, 1), Cells(LgHistorap, 17)).Select
Sheets("Feuil1").Range(Cells(LgHistorap, 1), Cells(LgHistorap, 17)).Select

' la copie ne se fait pas bien sûr !!!!!
ActiveSheet.Paste
' je rétablis les possibilités de calculs et la protection
Sheets("Feuil7").Activate
Application.CutCopyMode = False
Cancel = True
Worksheets("Feuil2").EnableCalculation = True
Worksheets("Feuil3").EnableCalculation = True
Worksheets("Feuil4").EnableCalculation = True
Worksheets("Feuil1").EnableCalculation = True
Sheets("Feuil1").Protect "motdepasse"
End Sub
 
Re : Une erreur "range"

Bonjour PaulMic et bienvenue (malgré ton grand âge 😛..., non, je rigole) 🙂 Dis nous ce que ça donne 😎
 
Re : Une erreur "range"

Un grand merci à JNP,

la copie des cellules marche exactement comme je le voulais !

J'avoue m'être "autoformé Excel 97" (donc pas forcément bien) et que je n'utilise pas "target", cet exemple me permettra de revoir mes pratiques. Par habitude une solution qui marche est conservée... même s'il y en a de meilleures.

Merci au forum d'exister !
PaulMic (anarchiste révolutionnaire bien que conservateur 🙂🙂🙂)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
324
Réponses
3
Affichages
256
Réponses
5
Affichages
912
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…