Problème avec "ActiveSheet.paste"

Astyanax

XLDnaute Occasionnel
Bonjour à tout le forum, lors de l'exécution d'une macro, le message d'erreur suivant m'est
retourné :
'Erreur d'exécution 1004
La méthode Paste de la classe Worksheet a échoué'
Je suis avec office 2003 et je pense qu'avec le 2000, je n'avais pas ce problème ou pour être plus complet, je ne sais pas si j'ai modifié quelque chose dans ma macro depuis mon passage à 2003 qui fait que maintenant cela se plante.

Cette partie de macro est très simple et doit me copier une partie d'une feuille dans une autre feuille du même classeur.

Sheets('xx').Select
Range('A1').Select
Selection.CurrentRegion.Copy
Sheets('yy').Select
Range('A1').Select
ActiveSheet.Paste

Je vous remercie de me donner votre avis et de m'indiquer si possible les raisons de cette erreur.
Je vous souhaite une bonne soirée
Astyanax
 

gex1403

XLDnaute Occasionnel
Salut astyanax
J'ai crée cette macro avec l'enregistreur et elle fonctionne parfaitement, vois si avec ton excel 2003, elle fonctionne toujours



Sub Macro1()
With Sheets('xx').Select
Range('A1:A2').Select
Selection.Copy
Sheets('yy').Select
Range('A1').Select
ActiveSheet.Paste
End With
End Sub
@micalement
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Astyanax, Gex1403, Barbara, le Forum

Je viens de tester ceci sous Office XP (2002) :

Sub Test()

Sheets('xx').Select
Range('A1').Select
Selection.CurrentRegion.Copy
Sheets('yy').Select
Range('A1').Select
ActiveSheet.Paste

End Sub

Pas de souci, au pire une erreur '9' si les onglets 'yy' ou 'xx' n'existent pas...

Pour arriver à avoir une erreur '1004' il faut que je protège la feuille 'yy'...

Sinon, exactement le même style de code que proposé par Barbara, mais avec l'utilisation d'Objects Range :

Option Explicit

Sub CopyRange()
Dim PlageSource As Range
Dim CellDestination As Range

With ThisWorkbook
   
Set PlageSource = .Sheets('xx').Range('A1').CurrentRegion
   
Set CellDestination = .Sheets('yy').Range('A1')
End With

PlageSource.Copy CellDestination


End Sub


Bonne Soirée
[ol]@+Thierry[/ol]
 
A

Astyanax

Guest
Re-bonsoir Barbara,Gérard,Thierry et tout le forum,
Gérard, j'ai essayé ta solution mais cela ne me copie pas toute ma sélection. J'avais également fait l'essai avec l'enregistreur et il me donne la même solution.
Ce que je comprend pas c'est pourquoi en copiant la majorité de ce que me propose l'enregistreur, j'obtiens cette erreur.
Barbara, je pense que j'ai dû faire une erreur car avec ta proposition, j'obtiens également une erreur 1004 et disant que la méthode Copy de la classe Range a échoué.
Thierry, je suis désolé mais je n'ai pas eu le temps d'essayer ta solution mais tu me dis quelle se rapproche de celle de Barbara.
Mes feuilles ne sont pas protégées et ce que ne comprends pas c'est que cette macro fonctionnait.
Je vous souhaite à tous une excellente soirée
Astyanax
 

ChTi160

XLDnaute Barbatruc
Salut Astyanax
bonsoir le Fil
bonsoir le forum
bon Alors moi je suis venu proposé une procèdure à la @+Thierry Lol (arff c'est mon excuse pour venir te Saluer Thierry Lol(j'espère que tu vas bien)
Code:
Sub CopyRange()
With ThisWorkbook.Sheets('Feuil3').Range('A1').CurrentRegion
      ThisWorkbook.Sheets('Feuil5').Range('A1').Resize(.Rows.Count, .Columns.Count) = .Value
End With

End Sub
bonne fin de Soirée Lol
 
A

Astyanax

Guest
Bonsoir Jean-Marie et merci pour ta réponse et ta proposition mais j'aime bien comprendre et mon élément de macro en erreur (copie d'une partie de feuille) me semble simple et a déjà fonctionné. C'est pour cela que j'aimerais comprendre ce qui ne lui plait plus.
J'ai pensé au passage à Office 2003 et je vois que sur internet plusieurs personnes ont eu des problèmes avec le presse-papiers en utilisant ce code mais ... ?
Je prends bonne note de vos solutions car si je n'aboutis pas j'utiliserai une des celles que vous m'avez proposé.
Je vous remercie tous encore une fois pour vos réponses.
Bonne soirée
Astyanax
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Astyanax, mon ami Jean-Marie, Barbara, Gex1403, le Forum

Bon et bien moi aussi maintenant de chez moi je suis Office 2003 (Pro).

Je viens de tester : aucun souci

Voici mon fichier de tests...

Je ne pense pas du tout que le problème puisse survenir à cause de ce code et de la version d'Excel, il y a un autre problème.

Teste un peu et tiens nous au courant...

Bonne nuit
[ol]@+Thierry[/ol] [file name=Excel_2003.zip size=16886]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Excel_2003.zip[/file]
 

Pièces jointes

  • Excel_2003.zip
    16.5 KB · Affichages: 87
A

Astyanax

Guest
Bonsoir à tout le monde et bien Thierry pour tes différents essais et Leon le nettoyeur.
Effectivement, mon problème est peut être + complexe ??
Ce n'est qu'un tout petit bout de ma macro mais c'est lorsque je fais la copie par 'ActiveSheet.paste' que cela bloque.
La copie est bien faite sur la feuille destinatrice mais le debogueur indique cette ligne en défaut.
Autre souci, mon anti-virus a toujours trouvé cette macro douteuse. A chaque contrôle, il la mettait en quarantaine.
Je pense que je dois cumuler plusieurs problèmes.
Bonne nuit à tous, la soirée est bien entamée
Astyanax
 

Discussions similaires

Statistiques des forums

Discussions
312 184
Messages
2 086 008
Membres
103 088
dernier inscrit
Psodam