XL 2010 VBA POUR COPIER UNE PLAGE DE CELLULES D'UNE FEUILLE DANS UNE AUTRE DANS LE MEME CLASSEUR

anbar

XLDnaute Junior
Bonjour
Je reviens vers vous pour demander de l'aide, après avoir enregistré une macro par laquelle je souhaite copier la plage de cellule de la feuil1 (A7:A19) dans la feuil2 (G10:G22)
code:
Private Sub Worksheet_Activate()

Sheets("Feuil1").Select
Range("A7:A19").Select
Selection.Copy
Sheets("Feuil2").Select
Range("G12").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

Le moment où j'active la Feuil2 pour l'éxecution de la macro j'obtiens le message suivant: (l'erreur 9 la méthode Select de la classe Range a échoué)
j'ai cherché un peu par tout dans les forums j'ai pas réussi à corriger cette erreur.
Ci-joint le fichier exemple

Merci de votre Aide
 

Pièces jointes

  • exceldow.xlsx
    20.3 KB · Affichages: 3

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Anbar, bonjour le forum,

La règle d'or en VBA c'est d'éviter autant que possible les Select et autre Activate. Ils ne font que ralentir l'exécution du code et sont source de nombreux plantages. Ton code modifié :

VB:
Private Sub Worksheet_Activate()
Sheets("Feuil1").Range("A7:A19").Copy
Me.Range("G12").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
 

anbar

XLDnaute Junior
Bonjour Anbar, bonjour le forum,

La règle d'or en VBA c'est d'éviter autant que possible les Select et autre Activate. Ils ne font que ralentir l'exécution du code et sont source de nombreux plantages. Ton code modifié :

VB:
Private Sub Worksheet_Activate()
Sheets("Feuil1").Range("A7:A19").Copy
Me.Range("G12").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub

OK ça fonctionne sans problème, je vous remercie beaucoup
 

anbar

XLDnaute Junior
Bonjour Anbar, bonjour le forum,

La règle d'or en VBA c'est d'éviter autant que possible les Select et autre Activate. Ils ne font que ralentir l'exécution du code et sont source de nombreux plantages. Ton code modifié :

VB:
Private Sub Worksheet_Activate()
Sheets("Feuil1").Range("A7:A19").Copy
Me.Range("G12").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Bonjour Robert
je ne sais pourquoi ça ne fonctionne pas pour le classeur ci-joint j'ai un message d'erreur 9 l'indice n'appartient pas à la sélection.
merci de ton aide.
voir Feui7(LUNDI) et Feuil11(LUNDI COUPE PRO)
 

Pièces jointes

  • feuille prod.xlsm
    225.5 KB · Affichages: 11

job75

XLDnaute Barbatruc
Bonsoir anbar, Robert,

Le message d'erreur nous dit que Sheets("Feuil7") n'existe pas...

Remplacez cette expression par Sheets("LUNDI") ou simplement par Feuil7

Je vois que vous confondez le nom de la feuille (Name) et son CodeName.

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 899
Membres
101 834
dernier inscrit
Jeremy06510