Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VA : Copie feuille vers autre classeur ouvert

  • Initiateur de la discussion Initiateur de la discussion Sylvie
  • 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 !

Sylvie

XLDnaute Accro
Bonjour Cher Forum et forum-users,

je vous explique le code VBA miracle que je recherche ce matin.
J'ai un classeur ouvert composé de plus de 76 feuilles (Classeur A)
Chacune de ces feuilles porte un nom type 'Dupont.xls' + 4 feuilles de récap qui ne portent pas l'extension xls.

Je souhaiterais pouvoir copier une à une chacune de ces feuilles (toutes celles dont le nom se termine par xls) comme feuille 1 sur un autre classeur (lequel comporte une feuille 2 déjà remplie qui fera différents calculs sur cette feuille 1).
L'ideal serait pour que je puisse lsuivre a progression de mon travail une macro qui me proposerait dans une liste le nom de la feuille à transferer.

Merci à vous tous
Sylvie
 
Bonjour Sylvie et le Forum,
Je te propose un userform avec les noms des différentes feuilles à copier et pour chacune d'entre-elles une case à cocher. si la case est cochée, tu copies sinon tu ne copie pas cette feuille.Je pense que c'est ce que tu veux.
Par contre je ne comprends pas bien ce que tu veux copier et dans quoi tu veux le copier.
Tu veux copier chaque feuille dans son intégralité ou seulement le contenu de ces feuilles?
Si tu as 76 feuilles '*.xls' et quatre feuilles 'Récup', ça fait 80 feuilles. Si tu veux copier ces feuilles, cela fera t'il 80 fichiers ou 1 seul dont le contenu de la feuille1 regroupera toutes les données contenues dans les 76 feuilles '*.xls' et quatre feuilles 'Récup'?
Dans l'attente de ta réponse
Marco
 
Bonjour Marco57, Le forum,

ta proposition me va à merveille. Je signe où ?
😉
Imagine un classeur ouvert qui va comprendre un très grand nombre de feuilles (en fait chaque feuille = un salarié). Le nombre de feuilles de ce classeur sera variable d'un mois sur l'autre. Toutes les feuilles que je veux pouvoir copier portent l'extension xls. En plus ce classeur comporte 4 autres feuilles (qui ne portent pas l'extension xls) que je ne souhaite pas copier.
(si tu veux savoir pourquoi ces feuilles portent l'extension xls alors c'est simple : initialement j'avais 76 classeurs s'appelant Dupont.xls, Martin.xls etc ... et l'action d'une première macro m'a permis de copier toutes les feuilles 1 de ces classeurs différents dans un seul et même classeuur en donnant comme nom de feuilles, le nom du classeur).
Je souhaite pouvoir copier chacune de ces feuilles 1 à 1 dans un autre classeur qui comporte lui une feuille 2 qui va faire des calculs automatiques (de côut analytique) à partir de la feuille 1 qui pour le moment est vide. Exemple : ta macro va me permettre de copier la feuille Dupont.xls sur un classeur distinct que j'appelerai Dupont analytique.xls etc ... et cette manip je dois la faire autant de fois que j'ai de salariés dans le mois. Ah oui j'oubliais : j'aimerais faire un simple copie-valeur.

Merci
Sylvie
 
Re bonjour Sylvie,
Je n'ai plus beaucoup de temps cet après-midi. Je te joints un fichier presque vide sur lequel j'ai commencé le Userform. Lance la macro 'Show' pour afficher la liste à cocher. Tu peux t'amuser à créer des feuilles et à voir l'effet.
Avant d'aller plus loin, confirme moi que je suis dans la bonne voie.

A+ [file name=Classeur1Sylvie40.zip size=14064]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1Sylvie40.zip[/file]
 

Pièces jointes

Bonjour Sylivie, Marco, le Forum

Ce UserForm existe déjà, je l'avais produit dans l'ancien Forum XLD 'First Generation'

C'est un UserForm qui va lister dans une ListBox avec Propriété MultiSelect toutes les feuilles.
De faire sa sélection de feuilles à copier, et en ayant la possiblité de choisir :
=> Copie des feuilles sélectionnées vers un Nouveau Classeur.
=> Copie des feuilles sélectionnées vers Classeur Existant.

Cette dernière option va permettre de faire 'deux/trois petites choses' :
=> Proposer une boite de dialogue 'GetOpenFileName' pour sélectionner un classeur existant.
=> Vérifier si les feuilles existent déjà dans ce classeur sélectionné, auquel cas elles seront supprimées.
=> Intégrer en fin de d'index des feuilles existantes dans ce classeurs les nouvelles à importer
=> Proposer en fin de traitement de sauver et fermer directement le classeur ayant reçu l'import de feuilles...


Voici les liens :

Fichier Démo Téléchargeable Lien supprimé

Fil de Discussion Lien supprimé

Ensuite une version encore un peu plus aboutie a vue le jour pour avoir une Option pour envoyer directement en Email ces feuilles ainsi sélectionnées ainsi qu'une Option pour Convertir ce Classeur automatiquement en XLA (et vice / versa)

Fichier Démo Téléchargeable Lien supprimé

Fil de Discussion Lien supprimé

Bonne Découverte et après midi
@+Thierry
 
Bonjour Marco57, Thierry, le forum.

merci Marco c'est exactement ce que je cherche.

Je fais juste une petite aparté pour Thierry
Bonjour Thierry et merci de passer par là. Ca me fait très plaisir de croiser de nouveau ta route car il y a un peu moins de 2 mois tu m'as tirée une sacrée épine du pied (je portais un pseudo autre que sylvie40) en me faisant une macro pour transformer du xls en txt pour un import dans un logiciel de paie (Sage). Je te confirme que je gagne un temps précieux grace à toi et que je te bénie régulièrement.
Bon je file voir les liens que tu m'as indiqué. J'ai du mal utiliser le moteur de recherche du site car je n'avais rien trouvé pouvant faire mon bonheur.

'Cours y vite, cours y vite, le bonheur il va filer ' dit une chansonnette, alors j'y cours........

Je vous tiens au courant
Merci
🙂
 
Re:VBA : Copie feuille vers autre classeur ouvert

Re bonjour le fil, le Forum,

Thierry c'est sensationnel ton lien ! décidemment tu n'as pas fini d'épater les filles.... avec tes connaissances exceliennes, bien sur, pour le reste je ne me permettrais pas.
🙂

J'ai tout de même un petit souci :whistle:
Je selectionne ma feuille de mon fichier source (ok j'ai pigé le fonctionnement) mais si cela avait été possible j'aurais souhaité qu'elle se copie en feuille1 de mon classeur de destination, car la feuille 2 de ce-dit classeur fait des calculs de rechercheV et tout le toutim sur la feuille1 et pas sur la 3. Est ce possible de faire une toute petite modification de ton USF pour que ma feuille soit copiée en début d'index.

Merci
Sylvie

ps ! Si tu aimes le clafoutis aux cerises, je t'en envoie une part pour te remercier. Et pour toi aussi Marco !
 
Re:VBA : Copie feuille vers autre classeur ouvert

Re Bonjour Sylvie, Marco, le Forum

Hihihi tu me fais rougir lol

Pour ton problème c'est une modification Mineure...

Tu vas dans le Code du UserForm 'USF1' et tu détectes la Private Sub :

Private Sub CommandButton1_Click()

Tu descends à la ligne 123 : tu vas voir ceci :
WB1.Worksheets(MyArray(i)).Copy After:=WB2.Worksheets(WB2.Worksheets.Count)

Tu le remplaces pûrement et simplement ce code par celui-ci :
WB1.Worksheets(MyArray(i)).Copy Before:=WB2.Worksheets(1)

Et donc tu auras ta feuille placée en premier Index, si par contre tu dois faire une multi-selection de feuilles, c'est la dernière feuille sélectionnée dans la liste qui aura l'Index Number One, mais je pense que ce n'est pas ton objectif de faire une Multi-Sélection selon ma compréhension de ton projet.

Voilà, sinon moi je préfère être 'payé' en 'Reblochon' ou en 'Duvel', mais si tu passes sur l'extrême Sud-Est n'hésites pas à me faire un coucou !!!

Bonne Fin de Journée et Week End
@+Thierry
 
Re:VBA : Copie feuille vers autre classeur ouvert

Re bonjour Thierry, le Fil, le Forum

mais oui mais c'est bien sur !! Remplacer After par Before comme n'y avais je pas penser ?

Oh non, je te charrie, Thierry ! Je ne devrais pas, je sais, mais je suis déjà tellement contente de comprendre les 2 mots principaux : before et after.
Puisque tu préfères le reblochon au clafoutis alors je te préparerai une tartiflette que j'emmenèrai en convoi spécial à Monaco ... à l'occasion .

Je vais de ce pas exécuter cette substitution dans ta macro.

Mille merci Thierry et s'il te plait ne rougis pas.
 
Re:VBA : Copie feuille vers autre classeur ouvert

ReBonjour Sylvie, Thierry, le fil et le forum,
Bon, désolé d'avoir planché un peu sur un problème déjà résolu.
Je suis aussi allé voir ton fichier Thierry et je dois m'incliner car c'est classe.
Je suis tout jeune sur ce forum ainsi d'ailleurs qu'en VBA.
Je constate que le niveau de service sur ce forum est excel...lent et j'en ai plus à prendre qu'à donner.
Le site VériTi sur lequel je suis souvent m'a donné goût à VBA et je lui dois la majorité de mes connaissances dans ce domaine. On parle très souvent de XLD et je suis venu vous voir.
A+

Marco
 
Re:VBA : Copie feuille vers autre classeur ouvert

Re bonjour Marco, Thierry, le Forum,

merci encore à toi Marco de t'être interessé à mon problème mais c'est vrai que la solution offerte clef en main par Thierry t'a un peu grillé l'herbe sous les pieds et m'a bien facilité la tache je l'avoue. Merci en tout cas de l'aide que tu as bien voulu m'apporter et du temps que tu as consacré à mon problème.

Bon week end
Sylvie
 
Re:VBA : Copie feuille vers autre classeur ouvert

Bonsoir Marco, Sylvie, le Forum

Tu as très très bien fait de participer et surtout de venir sur XLD, Vériland (Alias Vincent) et un ami, et bien qu'il ne passe plus trop sur XLD c'est vraiment un très grand personnage avec un coeur en or et si tu regardes sur le moteur de recherche 'Archives' de XLD 'First Generation' tu verras les franches rigolades que l'on s'est faites tous les deux...

Pour Ti, inutile de préciser qu'il est notre Maître à tous sur ce Forum.

Et donc je suis un peu désolé de t'avoir un peu 'grillé' sur ce coup là, mais bon quand il y a une fifille au bout du fil et que j'ai une démo toute prête pil/poil je peux pas résister !!! lol

Pour me faire pardonner Marco, voici un Gif spécial XLD pour toi


Et je te le donne en Mille,' Ki c ka fé ce Gif ?' et bien Vériland !!! Of Course !!!

Bonne Soirée
@+Thierry

PS si tu passes sur Vériti, n'oublies pas de donner mon Grand Bonjour à Vériland !

PS

Message édité par: _Thierry, à: 11/06/2005 20:24
 
- 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

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
448
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…