Erreur d'éxecution 1004 Copy/Paste

Résolu/Fermé
Triton circus Messages postés 409 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 11 novembre 2017 - 22 juin 2012 à 13:22
Triton circus Messages postés 409 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 11 novembre 2017 - 22 juin 2012 à 15:47
Bonjour,

Je fait appel à vous à propos d'une erreur que je n'arrive pas à résoudre.

Je bosse sur Excel depuis et j'apprends le VBA sur le tas.
Je souhaite copier un tableau, vider la feuille puis recopier ce tableau (oui ca semble ne servir a rien mais en pratique ca peut etre utile).

En VBA j'ai donc :

Sub test()
    Sheets("Feuil1").Select
    Range("A1:C5").Select
    Selection.Copy
    Application.CutCopyMode = True
    ActiveSheet.AutoFilterMode = False
    ActiveWindow.FreezePanes = False
    If ActiveSheet.UsedRange.Rows.Count > 1 Then
        ActiveSheet.Cells.Delete
    End If
    Range("D3").Select
    ActiveSheet.Paste
End Sub



Or il me semble que la fonction delete vide aussi le presse papier puisque la macro plante au niveau du paste avec erreur 1004 la méthode paste de la classe worksheet a échoué

Peut etre existe-t-il une fonction qui permet de garder le contenu du presse papier. Je vois pas trop comment faire

Merci de vos réponses :)

A voir également:

5 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
22 juin 2012 à 13:30
Bonjour,
Delete, Clear, ClearContents, rien ne fonctionnera. Essaye sans passer par une macro cela ne fonctionne pas non plus...

Il faudrait donc :
1- copier,
2- coller,
3- supprimer.

Le tout en supprimant tous les .Select inutiles, cela constituera une bonne base de départ.

Exemple :
Sub test()
    Sheets("Feuil1").Range("A1:C5").Copy Range("D3")
    Sheets("Feuil1").Range("A1:C5").Clear 
End Sub
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
22 juin 2012 à 13:32
Salut,

ton code n'est pas cohérent,
cette ligne devrait être en fin ce code
Application.CutCopyMode = True

ensuite tu prévois un filtrage de tes données avant de copier, je pense que tu veux faire le contraire ?

Explique exactement toute la procédure que tu souhaites réaliser que l'on mette tout dans l'ordre
0
Triton circus Messages postés 409 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 11 novembre 2017 245
22 juin 2012 à 13:40
Merci pour ta réponse rapide :)

Il n'y a donc aucun moyen de conserver le presse papier entre 2 actions ?
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
22 juin 2012 à 13:58
Non il faut mettre les actions dans un ordre chronologique du moins celles que tu souhaites mettre en oeuvre
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Triton circus Messages postés 409 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 11 novembre 2017 245
22 juin 2012 à 15:47
Okay merci c'est ce que je voulais savoir :)

Je pense qu'avec l'experience ya moyen de contourner ça. Pour l'instant j'apprends :P

Merci a vous pour vos réponses ca m'éclaire
0