Transfert de plages

bonsoir à toutes et à tous,

voilà serait-il possible de transférer les plages d'un classeur excel vers un autre classeur excel en sachant que les plages sont toujours différentes

au début il y a un titre qui irait dans la ligne 1 de l'autre classeur et chaque fois qu'il y a une ou plusieurs lignes vides, la plage suivante va dans la feuille suivante de l'autre classeur en commençant à la ligne 2 si il n'y a pas de titre et que la longueur des plages peut être chaque fois différente en ligne mais aussi en colonnes

donc, dans le fichier joint il y a 11 plages avec 4 titres et en sachant également que mon classeur n°2 se limite à 50 feuilles

voilà j'espère m'être bien expliqué je vous souhaite une bonne soirée à tous

Jacques

Salut,

Je te propose un début de solution.

Tu places les deux fichiers ci-joints dans le même dossier. Le Fichier cible n'a pas besoin d'être ouvert.

Lorsque tu lances la macro en place derrière le bouton ''Transfert sur la feuille du fichier "essai-transfert-plages_v1", le fichier cible est remis à zéro (toutes les feuilles et toutes les données sont effacées) et une feuille par groupe de données est créée.

On peut améliorer les choses dans beaucoup de direction : par exemple afin d'enregistrer le fichier cible une fois complété, ou supprimer la sélection des lignes du fichier cible tout à la fin, etc.

Cordialement.

Bonjour,

si le fichier cible est effacé ça va être compliqué car il est plein de formules et de macros

donc il faudrait que les plages du fichier source soient copiées dans le fichier cible sans m'enlever les formules

Salut,

Tout d'abord je tiens à te remercier sincèrement d'avoir posé ta question, ce qui m'a permit de t'offrir mon aide gratuitement.

Ensuite je n'ai pas compris que tu indiques ce fil comme ''Résolu'' si tu n'es pas satisfait de la réponse. J'ai précisé dans ma réponse que l'on pouvait améliorer tout ce que tu souhaitais.

Comme tu ne m'as pas fourni de fichier-cible modèle, j'ai bien été obligé de deviner à quoi il ressemblait.

Maintenant, si tu me fournis un fichier-cible modèle et que tu m'indiques clairement s'il faut ajouter une feuille par plage à reporter ou si les feuilles nécessaires sont déjà en place, ce serait possible de répondre à ton attente.

Tu aurais au moins pu me dire si une partie du travail fourni correspondait à ton attente ou absolument rien !

A te relire.

bonsoir

Excuse-moi je ne l'ai pas fait exprès de marquer le fichier comme résolu

bon je vais découper un fichier car il y a beaucoup trop de lignes ainsi tu verras les plages

donc migrer les plages dynamiques du classeur un une par une vers un classeur 2 et dans ce classeur 2 il y a 50 feuilles donc pas plus de 50 plages

dans le classeur 2 on met la première cellule dans la case A2

dans le classeur essais la première plage va dans un classeur 2feuille1 attention de ne pas copier les lignes entières mais uniquement les plages

la seconde plage du classeur essais va dans la feuille 2 du classeur 2 et ainsi de suite jusqu'à la 50è plage car mon classeur 2 ne comporte que 50 feuilles

voilà j'ai à peu près trouvé avec une macro vba pour copier les plages mais une par une et je ne suis pas assez calé mais de mon coté je cherche

D'avance merçi pour votre gentillesse ,

Jacques

3essais-excel.xlsx (124.21 Ko)

Je ne sais toujours pas à quoi ressemble ton fichier-cible, s'il faut ajouter les plages que tu souhaites transférer à des plages déjà en place, comment s'appellent tes 50 feuilles déjà en place, s'il faut ajouter des feuilles ou non au classeur-cible, etc.

Alors, tel que déjà demandé, fournis-moi un modèle de fichier-cible. Si ce n'est pas possible de me fournir un fichier trop volumineux, un fichier-cible avec 3 feuilles représentatives de tous les cas possibles est suffisant.

Tu ne t'es pas excusé de ne pas m'avoir remercié la première fois, mais tu me dis déjà merci en fin de message, c'est déjà ça.

je vais vous joindre une partie du fichier cible car il est trop volumineux

et encore toutes mes excuses

voilà et encore merçi

6essais-excel.xlsx (124.21 Ko)
3pronos-1.xlsm (226.23 Ko)

Comment faire le lien entre une plage du ficher-source et une feuille du fichier-cible ?

A quel endroit coller les données sur les feuilles du fichier-cible ?

Peux-tu indiquer deux exemples ? Par exemple : Je voudrais copier les données de la plage X33:Y77 du fichier-source et les coller sur la feuille XXX du fichier-cible, dans la plage A33:B77, car ceci-cela, mais aussi car blablabla et deuxième exemple .........................

bonsoir,

voilà classeur essais excel plage une A2:M15 vers second classeur Feuille C1 cellule A2

plage A19:M30 vers second classeur FeuilleC1(2) Cellule A2

plage A34:M45 vers second classeur FeuilleC1(3) Cellule A2

et ainsi de suite jusqu'àu second classeur FeuilleC1(50)

voilà je vous souhaite une très bonne soirée et encore un grand merçi

Jacques

Salut,

Tu ne m'expliques pas comment effectuer le lien entre une plage du ficher-source et une feuille du fichier-cible, mais j'ai deviné que la première plage traitée correspond à la première page du fichier-source, etc.

Le fichier ci-joint devrait alors faire l'affaire. En tout cas pour les fichiers modèles que tu m'as fournis. Si tu lances la macro en place derrière le bouton ''Transfert'' sur la seule feuille de ton fichier-source, le transfert des 3 premières plages en place sont bien transférées respectivement sur les 3 feuilles du fichier-cible. Un message indique alors qu'il n'y a pas assez de feuilles dans le fichier-cible afin de pouvoir transférer toutes les plages voulues.

En ce qui concerne ces plages à transférer : Sur ton premier fichier-source fourni, tu avais systématiquement un espace entre chaque plage à traiter, j'ai donc utilisé cette mise en page afin d'écrire la macro. Mais dans le nouveau fichier-source fourni, tu n'as parfois pas d'espace, par exemple aux lignes 373, 386, etc. Pour ces plages, ma macro ne va pas pouvoir travailler correctement. Alors, est-ce que ce nouveau fichier-source modèle est incorrect ou est-ce que je dois modifier ma macro en conséquence ?

Tu vois là toute l'importance de fournir des fichiers modèles correspondant exactement à la réalité.

A noter que le nom et l'extension du fichier-cible sont indiqués dans la macro ; il faut donc absolument que ce fichier s'appelle "pronos.xlsm" ou alors il faut modifier la macro. Si le nom du fichier-cible change continuellement, on pourrait aussi trouver une solution quelconque. Et j'ai estimé que ces deux fichiers sont dans le même dossier de ton arborescence. Si ce n'est pas le cas, il faudra également trouver une solution. Le fichier-cible n'a pas besoin d'être ouvert au lancement de la macro.

A te relire.

6pronos.xlsm (223.63 Ko)

Bonjour Yvouille

oui effectivement le fichier source n'est pas au top

mais dans un fichier source normal il y aura toujours trois lignes vides entre chaque plage

voilà merçi encore à toi

aujourd'hui j'ai pas mal de boulot mais je regarderai la macro cet après midi ou au plus tard ce soir et je te tiendrai au courant

encrore un grand merçi

Jacques

9pronos.zip (585.85 Ko)

Bonjour Yvouille

voilà j'ai essayé mais ça ne fonctionne pas j'ai changé le nom dans la macro mais même ça ne marche pas

là je vous donne le fichier datas de demain qui me semble au bon format le fichier a chaque jour le même nom (à part la date qui change)

et le fichier source que je vous ai mis (juste avec 9 feuilles car il est trop lourd) et celui là a toujours le même nom: Pronos_

voilà vous avez les deux bons fichiers et vous avez bien compris ce que je voulais

je vous remerçie grandement de votre aide et je vous souhaite un bon week-end

Jacques

Aïe, aïe, aïe, Jacques ! Ton fichier source est à nouveau différent des deux premiers reçus !

Dans celui-ci, tu as parfois un titre collé à la plage à traiter - comme dans les deux premiers exemples - et, nouvellement, un titre et le bloc qui va avec parfois séparé par une ligne !!

Ma macro n'étant pas prévue pour un tel cas, ça va beuguer (c'est peut-être d'ailleurs à cause de cela que tu me dis que ça ne fonctionne pas chez toi !).

Alors dis-moi : est-ce toi qui prépare ce fichier-source ou non ? Dans le premier cas, tu devrais faire attention de ne pas avoir de ligne vide entre le titre et la plage qui va avec sinon, dans le deuxième cas, je vais devoir modifier ma macro en conséquence (par exemple commencer par supprimer ces lignes vides gênantes si tu n'y vois pas d'inconvénients) !

Tu vois là toute l'importance de fournir des fichiers modèles correspondant exactement à la réalité.

Concernant le fichier-cible : Tu m'as fourni un premier fichier avec 3 feuilles, tu me fournis maintenant un fichier avec 9 feuilles absolument identiques et tu me dis que ton fichier réel en contient 50. Mais si la macro fonctionne avec 3 feuilles, elle fonctionnera avec 9 ou 50 feuilles. Ce n'est pas ce fichier qui crée problème. A moins bien entendu que tes 50 feuilles ne soient pas identiques aux modèles reçus par moi.

A te relire.

Bonsoir Yvouille

Oui c'est moi qui prépare le fichier cible donc je peux le faire comme tu préfères en fait j'habitude, je colle le titre de la réunion avec la première course

mais je pensais que tu aurai eu plus facile comme ça donc tout ce qui est dans le fichier source et dans le fichier cible je peux modifier sans problème

le fichier cible comporte 50 feuilles identiques de C1 à C1(50)

voilà je vais faire des essais

je te remerçie encore vraiment un super forum et merçi à tous les membres qui m'ont aidé pour mon tableur

bravo à toi et à tous

Jacques

avant de fermer le sujet je vais regarder que tout fonctionne bien

bonne soirée

Jacques

Je voulais quand même te proposer, dans un premier temps, de modifier la macro afin de contrôler ce problème de ligne vide afin que tu ne doives pas le faire manuellement, mais je constate à l'instant que ton dernier fichier-source contient deux feuilles et je ne sais pas laquelle est la bonne !

De plus ça m'inquiète que tu me dises avoir à chaque fois un nouveau fichier avec une nouvelle date. Comment fais-tu alors pour que la macro fonctionne ? Tu copies-colles la macro d'un fichier à l'autre ou tu copies les nouvelles données dans le dernier fichier et tu lui donnes un nouveau nom ?

Une fois cette partie réglée, je voulais encore te proposer de voir comment tu pourrais automatiser la préparation du fichier de base. Je présume que tu le fais actuellement manuellement en prenant les données je ne sais où, mais il serait peut-être possible d'automatiser aussi cette partie, en réduisant le risque d'erreurs au maximum.

A toi de dire ce que tu souhaites de plus.

voilà en fait le fichier source vient de plusieurs sources de données que je compile et ça va très vite

par contre le fichier source pourrait éventuellement avoir un nom fixe je met une date car je stocke tout dans mes archives mais je mettrai un nom fixe comme ça il n'y aura plus de problème aussi je prépare un classeur "pronos" avec au moins 200 feuilles j'en avait fait un de 300 feuilles mais il était lourd et mettait du temps à s'ouvrir je te trouve très sympa de m'aider par contre si tu regardes bien dans le fichier cible tu verras un tas de macros pour l'automatisation de mes boutons

et j'ai du faire une macro par feuille car il y a une partie de la macro qui ne fonctionne pas si je ne fais pas comme ça

c'est la partie quand je trie la colonne"AW" total et c'est là que ça coince si tu peux y regarder ce serait sympa et si ça t'intéresse , j'ai un site de pronostics hippiques

personne pour m'aider c'est un site ou je donne les pronos dans les courses je suis retraité et ça m'occupe j'ai fait une partie gratuite et une partie avec abonnement mais personne ne s'abonne donc je développe une appli mobile qui sera gratuite totalement en espérant que les pubs me rembourseront un petit peu

en fait le site me coûte de l'argent et ne me rapporte rien mais bon à terme ce sera avec l'appli mobile ce sera rentable surtout que mes pronos ne sont pas trop

mauvais donc ton aide m'est grandement appréciée surtout que je viens de passer un moment difficile question santé

voilà

je vais créer un nom fixe pour le fichier source et un nom fixe pour le fichier cible qui seront dans le meme dossier

j'ai crée un fichier cible avec 220 feuilles comme ça je n'aurai pas de problème de taille

le fichier source s'appellera datas et le fichier cible pronos

voilà je pense que ça ne sera pas trop mal

voilà le fichier source fonctionne très bien comme je l'ai configuré avec le fichier cible sur 50 feuilles

demain j'essayerai avec le fichier cible de 220 feuilles

par contre peut on mettre les réunions ,c'est a dire R1,R2,R3...PMH1,PMH2... etc dans la cellule A1 ?

et encore un très très très grand merçi

Jacques

8datas.zip (366.93 Ko)

Salut Jacques,

Je veux bien continuer à t'aider dans ton projet, mais ça va prendre du temps car je ne m'occupe du Forum qu'à temps perdu.

Evite les réponses à épisodes, réfléchis avant d'envoyer un message si tu as bien pensé à tout et attends ma réponse, sinon je dois relire trois fois tes textes afin de faire le lien entre eux, de voir ce qui s'y dit deux fois, ce qui s'y contredit, etc.

Et relis mes textes avant de poster afin d'être bien certain d'avoir répondu à mes questions ; je ne sais toujours pas laquelle des deux feuilles du fichier source est la bonne.

Et puis si tu modifies mes fichiers à ta guise, ça complique les choses. Par trois fois tu m'as retourné un fichier source sur lequel le bouton que je mets en place à disparu et tu as maintenant deux modules dans ce fichier (transfertPlage et transfertPlage1) ; la première partie m'ennuie un peu, la deuxième me fout un peu la trouille. En fait, tu devrais te contenter de tester mes macros et de m'informer des modifications nécessaires qu'au travers de tes messages sur le fil de la discussion.

Voilà comment je vois la simplification de ton travail :

On crée un fichier source qui comporte la bonne macro et le bon bouton. A chaque utilisation, tu y charges tes données à traiter cette fois-là. Je placerais un contrôle afin de voir s'il n'y a pas des erreurs au niveau des lignes vides nécessaires ou excédentaires et la macro créerait un fichier d'archive que l'on pourrait nommer un peu comme bon te semble, sans modifier le fichier source de base, qui serait refermé sans modification pour une prochaine utilisation.

Puis on crée un deuxième fichier cible avec une feuille modèle, contenant toutes tes formules. On transforme tes macros afin qu'il n'y en ait qu'une seule de nécessaire. Et ma macro placée dans le fichier source créerait autant de feuilles que nécessaire. A la fin de la macro, le fichier cible avec ses x feuilles serait copié dans un nouveau fichier d'archive que l'on pourrait par exemple renommé selon un texte fixe plus la date ou l'heure (par Exemple ''Courses du xx.xx.xxxx) et refermé sans modification, prêt pour une prochaine utilisation (avec sa seule feuille en place).

Si les fichiers nouvellement créés à chaque fois sont trop lourds, on pourrait les alléger en y supprimant - par la macro placée dans le fichier source - les formules, c'est à dire en y laissant plus que les valeurs, et éventuellement en y supprimant les macros, ces deux choses étant devenues inutiles dans les fichiers d'archive.

Dans un premier temps dis-moi si une telle solution s'intéresse - je pense qu'on pourrait y arriver en 2 à 3 mois - et, si oui, quelle est la feuille du fichier source dont il faut tenir compte.

Pour mettre les réunions, c'est a dire R1,R2,R3...PMH1,PMH2... etc, dans la cellule A1, oui c'est possible. Parle-moi en à nouveau si j'oublie cela au moment où on arrivera à cette étape.

Amicalement.

Rechercher des sujets similaires à "transfert plages"