copie de feuilles d'un classeur à un autre

  • Initiateur de la discussion Initiateur de la discussion hoss
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

H

hoss

Guest
Salut,
Toute la question est ds le sujet!!!
En fait, j'ai écrit plusieurs macros qui font plusieurs calculs et stockent les infos dans les feuilles feuil1, feuil2, ....feuil20 de mon classeur.
Je souhaite écrire une macro qui copient ces 20 feuilles de résultats ds un nouveau classeur..
qqn a une idée..
Merci bcp
CIAO
hoss
 
Salut ,
Je suis novice et j'ai deja trouver bon nombresde reponses sur ce forum donc je veux essayer d'y particier.

alors selon moi et ma faible experience

pour copier la feuil1 du classeur3 apres la derniere feuille du classeur4 voiola le code a marquer

Windows("Classeur3").Activate
Sheets("Feuil1").Select
Sheets("Feuil1").Move After:=Workbooks("Classeur4").Sheets(2)

Je ne susi pas completement sur de moi mais j'espere avoir reussia t'aider ou du moin te depaner.

@+
 
Salut

Je vais essayer moi aussi d'apporter ma petite pierre à l'édifice.
Il doit être possible de faire une boucle afin de copier les 20 feuilles

Windows("Classeur3").Activate
for i =1 to 20
nomfeuil="Feuil" & i
Sheets(nomfeuil).Select
Sheets(nomfeuil).Move After:=Workbooks("Classeur4").Sheets(2)
next

Je n'ai pas verifié que cela fonctionnait. De plus je n'ai pas fait de déclaration de variable.
Dim nomfeuil as string

A bientôt

Franck
 
Bonjour hoss, le riderfoudu77, franck, le forum

la ligne de code suivante te copiera les feuilles que tu désires dans un nouveau classeur, remplace simplement "Feuil1", "Feuil2" par les noms des feuilles que tu veux copier en respectant la même syntaxe.

Cordialement, A+

Sheets(Array("Feuil1", "Feuil2")).Copy
 
Merci bcp yehaou..
ça a l'air de marcher mais le problème c'est que quand je veux copier plus d'une dizaine de feuilles, il me met un message d'erreur: erreur d'exécution'9' Indice en dehors de la plage... Je ne sais pas si on peut mettre en arguments le nombre de feuilles qu'on veut copier ou pas...
Si vous avez des idées, elles sont les bienvenus..
Merci bcp
ciao
hoss
 
C'est bon, mnt..ça marche..Je ne sais plus pourquoi mais je pense qu'il faut enlever les classeurs non utiles pour qu'il arrive à créer un nouveau avec bcp de feuilles...
Voilà ma conclusion.
Mais c'est parfait mnt..ça marche
ciao
hoss
 
Bonjour Hoss

indice hors de la plage signifie nom de feuille ne correspondant pas.
la ligne de code que je t'ai donnée suppose que l'opération se fait sur le classeur actif, pour le faire sur un autre classeur, il faut spécifier

ActiveWorkbook.Sheets(Array("Feuil1", "Feuil2")).Copy'sur classeur actif
ThisWorkbook.Sheets(Array("Feuil1", "Feuil2")).Copy'sur classeur d'origine de la macro
Workbooks("Classeur1.xls").Sheets(Array("Feuil1", "Feuil2")).Copy'sur le classeur nommé classeur1.xls

A+
 
Bonjour Yeahou, Hoss, Franck, LeRiderFou(!), le Forum

Et bien c'est marrant il y a des jours où les demandes se ressemblent d'un fil à Lien supprimé... Donc je place aussi ici un lien vers une démo pour faire ce genre de choses...

=> Démo Téléchargeable Lien supprimé (18k)

=> Fil de Discussion avec complément d'info Lien supprimé

Bonne Aprèm
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour