Copier/coller un range sur un autre classeur qui n'est pas le classeur actif

[Résolu]
Signaler
Messages postés
25
Date d'inscription
jeudi 24 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011
-
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
-
bonjour,

j'ai un gros range que j'ai copié sur un classeur (classeur1)
à ce stade, ce range clignote donc.

je souhaite le coller dans l'autre classeur qui est déjà ouvert, mais qui n'est pas le classeur actif (classeur2.xls)

si je fais ca :

Workbooks(classeur2.xls).Sheets("masheet").paste
ca marche, mais ca va coller dans la cellule qui est sélectionnée, qui peut être H18 par exemple.

mais je voudrais copier le range dans une cellule précise.
donc je voudrais faire : Workbooks(classeur2.xls).Sheets("masheet").range("A3").paste
ou Workbooks(classeur2.xls).Sheets("masheet").cells(3,1).paste

mais ca, ca ne marche pas. un peu bizarre mais bon.

vous avez une idée comment faire ?

6 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
salut,


tu constateras que Range ne possède pas de méthode "Paste"


Effectivement !

Par contre il existe une méthode qui se passe de la méthode paste :

Workbooks("ClasseurSource").Worksheets("MaFeuilleSource").Range("B3:G12").Copy _
      Destination:=Workbooks("classeur2").Worksheets("masheet").Range("A3")


A+
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
F2 (Explorateur d'objets)

tu constateras que Range ne possède pas de méthode "Paste"
donc pas si bizarre, non ?

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
25
Date d'inscription
jeudi 24 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011

hello bigfish !

désolé, je me répondais en meme temps que tu répondais.
merci! j'avais pas pensé à cette solution, qui encore plus courte :)
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
La méthode suggérée par bigfish_le_vrai a surtout l'énorme avantage de ne pas passer par le presse papiers, ce qui est un comportement inacceptable, pour moi.

comme ne pas tenir compte des parametres regionnaux...

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
Messages postés
25
Date d'inscription
jeudi 24 mars 2011
Statut
Membre
Dernière intervention
6 avril 2011

Renfield, tu peux expliquer un peu en quoi c'est inacceptable de ne pas passer par le presse papiers?

de mon point de vue, ca fait moins de code, le fichier est moins lourd, le traitement est moins lourd, donc c'est très bien.
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
le presse papier appartient a l'utilisateur...

si ta macro passe par le presse papier, celui-ci perd les données qui se trouvent dans son presse papier.

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp