Copy sans Select en VBA
linkcr15
Messages postés
423
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
Afin de pouvoir verouiller mes feuilles Excel tout en faisant fonctionner mes macros, je souhaites enlever tous mes .Select dans mon code. Cependant j'ai un problème lors de la refonte d'une copie de plage. Voici mon code avant :
Que j'ai donc remplacé par :
Mais mon nouveau code m'affiche l'erreur :
Erreur d'éxécution '1004'
La méthode Copy de la classe Range à échoué
Je ne comprends pas où est mon erreur, est-ce que quelqu'un peut m'aider svp?
Afin de pouvoir verouiller mes feuilles Excel tout en faisant fonctionner mes macros, je souhaites enlever tous mes .Select dans mon code. Cependant j'ai un problème lors de la refonte d'une copie de plage. Voici mon code avant :
Plage = "A1:M" & derniereLigneTableau
Sheets("Demandes").Activate
Range(Plage).Select
Selection.Copy
Usr_Affiche.Spsheet_Demande.Range("A1").Paste
Que j'ai donc remplacé par :
Sheets("Demandes").Range("A1:M" & derniereLigneTableau).Copy Usr_Affiche.Spsheet_Demande.Range("A1")
Mais mon nouveau code m'affiche l'erreur :
Erreur d'éxécution '1004'
La méthode Copy de la classe Range à échoué
Je ne comprends pas où est mon erreur, est-ce que quelqu'un peut m'aider svp?
A voir également:
- Copy sans Select en VBA
- Exact audio copy - Télécharger - Conversion & Extraction
- Super copy - Télécharger - Gestion de fichiers
- Excel compter cellule couleur sans vba - Guide
- Copy protect - Télécharger - Chiffrement
- Copy file - Télécharger - Divers Utilitaires
1 réponse
Bonjour,
L'erreur : Erreur d'éxécution '1004'
La méthode Copy de la classe Range à échoué
vient du fait que ta feuille n'est pas la feuille active. Pour contourner ce problème tu peux utiliser un bloc "With - End With" comme ceci :
Attention à ne pas oublier le point devant l'objet se rapportant à ta feuille.
L'erreur : Erreur d'éxécution '1004'
La méthode Copy de la classe Range à échoué
vient du fait que ta feuille n'est pas la feuille active. Pour contourner ce problème tu peux utiliser un bloc "With - End With" comme ceci :
With Sheets("Demandes")
.Range("A1:M" & derniereLigneTableau).Copy
End With
Usr_Affiche.Spsheet_Demande.Range("A1")
Attention à ne pas oublier le point devant l'objet se rapportant à ta feuille.