Copier coller une feuille en vba
Résolu/Fermé
A voir également:
- Copier coller une feuille en vba
- Copier coller pdf - Guide
- Comment copier une vidéo youtube - Guide
- Historique copier-coller android - Guide
- Copier-coller - Accueil - Windows
- Symbole clavier copier coller - Guide
10 réponses
Utilisateur anonyme
Modifié par Lupin.PC4 le 12/04/2011 à 19:04
Modifié par Lupin.PC4 le 12/04/2011 à 19:04
Bonjour,
Un [ Coller ] [ Paste ] ne s'effectue jamais sur une plage de plusieurs cellules.
Il faut positionner le curseur sur la cellule du coin supérieur gauche
à partir de laquelle le [ Paste ] est effectué.
Ici :
On sélectionne la cellule [A1] de la Feuil4 qui recevra le [ Paste ].
La méthode [ .Activate ] est implicite dans la méthode [ .Select ].
Cdt
Lupin
Un [ Coller ] [ Paste ] ne s'effectue jamais sur une plage de plusieurs cellules.
Il faut positionner le curseur sur la cellule du coin supérieur gauche
à partir de laquelle le [ Paste ] est effectué.
Ici :
Option Explicit Sub CopieContenuFeuille() Sheets("Feuil1").Select Cells.Select Selection.Copy Sheets("Feuil4").Select Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Range("A1").Select Sheets("Feuil1").Select Range("A1").Select End Sub '
On sélectionne la cellule [A1] de la Feuil4 qui recevra le [ Paste ].
La méthode [ .Activate ] est implicite dans la méthode [ .Select ].
Cdt
Lupin
Utilisateur anonyme
13 avril 2011 à 08:47
13 avril 2011 à 08:47
Merci pour l'info !
J'avais en effet lu ça sur un autre sujet, mais le problème est que j'ai une erreur pour la sélection de la cellule A1 : 1004 "la méthode select de la classe range a échoué"...
Savez-vous d'où cela peut venir ?
Je n'ai pas renommé mes feuilles, ni mes cellules.
Les infos sont bien copiées, elles restent dans le presse-papier et je peux les coller manuellement même après l'erreur.
Merci
J'avais en effet lu ça sur un autre sujet, mais le problème est que j'ai une erreur pour la sélection de la cellule A1 : 1004 "la méthode select de la classe range a échoué"...
Savez-vous d'où cela peut venir ?
Je n'ai pas renommé mes feuilles, ni mes cellules.
Les infos sont bien copiées, elles restent dans le presse-papier et je peux les coller manuellement même après l'erreur.
Merci
Utilisateur anonyme
13 avril 2011 à 13:51
13 avril 2011 à 13:51
re:
Ce code ne peut être placer derrière une feuille, il doit impérativement être dans un module à cause du [Select] sur les feuilles.
Sais-tu comment utiliser le [ pas à pas ] dans VBE (Visual Basic Editor).
Tu peux suivre le déroulement de la macro instruction par instruction.
Si tu n'y arrive pas, je t'enverrai un DEMO.
Cdt
Lupin
Ce code ne peut être placer derrière une feuille, il doit impérativement être dans un module à cause du [Select] sur les feuilles.
Sais-tu comment utiliser le [ pas à pas ] dans VBE (Visual Basic Editor).
Tu peux suivre le déroulement de la macro instruction par instruction.
Si tu n'y arrive pas, je t'enverrai un DEMO.
Cdt
Lupin
Utilisateur anonyme
13 avril 2011 à 14:30
13 avril 2011 à 14:30
Bonjour,
Je ne comprends pas "placé derrière une feuille". Je l'utilise "derrière un bouton". Lorsque j'appuie sur le bouton, je voudrais (entre autre) que ce qu'il y a sur la feuil1 soit copié sur la feuil4.
Par "utiliser le pas à pas" entends-tu l'enregistreur de macro ? Si c'est le cas la réponse est oui.
Merci
Je ne comprends pas "placé derrière une feuille". Je l'utilise "derrière un bouton". Lorsque j'appuie sur le bouton, je voudrais (entre autre) que ce qu'il y a sur la feuil1 soit copié sur la feuil4.
Par "utiliser le pas à pas" entends-tu l'enregistreur de macro ? Si c'est le cas la réponse est oui.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
13 avril 2011 à 15:10
13 avril 2011 à 15:10
re:
OK - Pour moi derrière un bouton, c'est derrière un formulaire.
Je distigues 5 types d'object :
ThisWorkBook
Feuil1,Feuil...
UserForm (Formulaire)
Module
Module de Classe
Donc, derrière un formulaire est l'équivalent d'être dans un module,
du moins pour la porté sur les feuilles.
Pour ce qui est du mode PAS À PAS, ce n'est pas l'enregistreur
de macro.
Place un point d'arrêt en début de procédure, dans la marge de gauche,
une bande de moins d'un centimètre, tu y clic devant la ligne d'instruction.
Celle-ci devrait se surligner en noir et un bouton noir apparait dans la marge.
Tu peux ainsi suivre la routine pas à pas.
Voici un petit Demo: http://www.cijoint.fr/cjlink.php?file=cj201104/cijMAw2z5q.zip
Pour lancer le Formulaire :
// Menu / Outils / Macro / Macro ...
Sélectionner "AfficheFormulaire"
Cdt
Lupin
OK - Pour moi derrière un bouton, c'est derrière un formulaire.
Je distigues 5 types d'object :
ThisWorkBook
Feuil1,Feuil...
UserForm (Formulaire)
Module
Module de Classe
Donc, derrière un formulaire est l'équivalent d'être dans un module,
du moins pour la porté sur les feuilles.
Pour ce qui est du mode PAS À PAS, ce n'est pas l'enregistreur
de macro.
Place un point d'arrêt en début de procédure, dans la marge de gauche,
une bande de moins d'un centimètre, tu y clic devant la ligne d'instruction.
Celle-ci devrait se surligner en noir et un bouton noir apparait dans la marge.
Tu peux ainsi suivre la routine pas à pas.
Voici un petit Demo: http://www.cijoint.fr/cjlink.php?file=cj201104/cijMAw2z5q.zip
Pour lancer le Formulaire :
// Menu / Outils / Macro / Macro ...
Sélectionner "AfficheFormulaire"
Cdt
Lupin
Utilisateur anonyme
13 avril 2011 à 15:41
13 avril 2011 à 15:41
Je ne comprends pas tout à votre réponse...désolé
Y-a-t'il une manière pour moi de copier-coller ma feuil1 sur feuil4 ?
Pour ce qui est du démo, je n'arrive pas à le faire fonctionner...
Y-a-t'il une manière pour moi de copier-coller ma feuil1 sur feuil4 ?
Pour ce qui est du démo, je n'arrive pas à le faire fonctionner...
Utilisateur anonyme
Modifié par Lupin.PC4 le 13/04/2011 à 17:08
Modifié par Lupin.PC4 le 13/04/2011 à 17:08
re:
Sous quelle version de Excel travaille-tu ?
Si XL2007, c'est normal que mon code ne fonctionne pas.
Si XL2002 ou XL2003 ça doit fonctionner!
Sinon, si ton fichier ne comporte pas de données sensibles
(confidentiel), dépose le sur [ http://www.cijoint.fr/ ].
Cdt
Lupin
Sous quelle version de Excel travaille-tu ?
Si XL2007, c'est normal que mon code ne fonctionne pas.
Si XL2002 ou XL2003 ça doit fonctionner!
Sinon, si ton fichier ne comporte pas de données sensibles
(confidentiel), dépose le sur [ http://www.cijoint.fr/ ].
Cdt
Lupin
Utilisateur anonyme
13 avril 2011 à 17:17
13 avril 2011 à 17:17
Je travaille sur excel 2003.
En fait, lorsque je faisais :
ça ne marchait pas non plus...
Mais quand je change les 10000 en 100, ça marche. J'ai donc ce que je souhaitais, mais je suis réduit à copier un carré de 100X100.
Pour l'instant, ça devrait me convenir, donc je ne t'embête pas plus.
Merci pour ton aide !
En fait, lorsque je faisais :
Dim v As Long Dim w As Long For v = 1 To 10000 For w = 1 To 10000 Sheets("Feuil4").Cells(v, w).Value = Sheets("Feuil1").Cells(v, w).Value Next Next
ça ne marchait pas non plus...
Mais quand je change les 10000 en 100, ça marche. J'ai donc ce que je souhaitais, mais je suis réduit à copier un carré de 100X100.
Pour l'instant, ça devrait me convenir, donc je ne t'embête pas plus.
Merci pour ton aide !
Utilisateur anonyme
13 avril 2011 à 17:47
13 avril 2011 à 17:47
re:
En fait, tu ne peux utiliser la limite de 1000 pour les colonnes.
For w = 1 to 256
Puisqu'il ne peut y avoir plus de 256 colonnes sous Excel 2003.
Cdt
Lupin
En fait, tu ne peux utiliser la limite de 1000 pour les colonnes.
For w = 1 to 256
Puisqu'il ne peut y avoir plus de 256 colonnes sous Excel 2003.
Cdt
Lupin
Utilisateur anonyme
14 avril 2011 à 15:53
14 avril 2011 à 15:53
Bonjour jahawai,
Disons que je ne sait pas au départ quel sont tes connaissances
sur le sujet !
La copie par boucle pour copier le contenu d'une feuille
à une autre est bien dans un sens car tu auras apprit
plein de choses en contruisant ton code.
Si ça t'interesse, j'ai codé un classeur qui lors de la selection
de la feuille 1, un menu apparait et permet d'accéder à un
formulaire qui a un bouton derrière lequel je copie de feuille
à feuille avec quelques instructions plus rapide qu'une boucle.
Voici l'exemple :
http://membre.oricom.ca/lupin/xfr/copiefeuille.zip
Cdt
Lupin
Disons que je ne sait pas au départ quel sont tes connaissances
sur le sujet !
La copie par boucle pour copier le contenu d'une feuille
à une autre est bien dans un sens car tu auras apprit
plein de choses en contruisant ton code.
Si ça t'interesse, j'ai codé un classeur qui lors de la selection
de la feuille 1, un menu apparait et permet d'accéder à un
formulaire qui a un bouton derrière lequel je copie de feuille
à feuille avec quelques instructions plus rapide qu'une boucle.
Voici l'exemple :
http://membre.oricom.ca/lupin/xfr/copiefeuille.zip
Cdt
Lupin