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

Résolu
annyeong56 Messages postés 25 Date d'inscription jeudi 24 mars 2011 Statut Membre Dernière intervention 6 avril 2011 - 1 avril 2011 à 12:17
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 1 avril 2011 à 14:46
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

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
1 avril 2011 à 13:54
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+
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 avril 2011 à 13:36
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
0
annyeong56 Messages postés 25 Date d'inscription jeudi 24 mars 2011 Statut Membre Dernière intervention 6 avril 2011
1 avril 2011 à 14:05
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 :)
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 avril 2011 à 14:09
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
0

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

Posez votre question
annyeong56 Messages postés 25 Date d'inscription jeudi 24 mars 2011 Statut Membre Dernière intervention 6 avril 2011
1 avril 2011 à 14:35
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.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
1 avril 2011 à 14:46
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
0
Rejoignez-nous