Macro copier/coller de n lignes

Bonjour à tous,

Alors voilà, j'ai un travail à faire pour automatiser une tâche ingrate de copier/coller de données sur une autre feuille d'un tableur

Voici les explications ;

Je souhaiterais créer une macro qui me copierais un ensemble de données sur une autre feuille selon un autre format.

Je dispose d'une base en "Feuil1" sous forme matricielle. Cette base correspond à des montants pour chaque mois sur plusieurs années. Concernant la forme de la base, les 5 premières colonnes concerne des critères des entités (et diverses informations) puis les suivantes à partir de la 6ème sont des montants pour chacune de ces entités du premier mois puis les mois suivants sur les colonnes suivantes.

L'objectif serait de copier les montants du premier mois (H4:Hn) colonne dans la colonne O dans la "Feuil2", puis les montants du mois suivant (I4:In) dans la colonne O de la "Feuil2", en dessous des montants précédemment collés, et ce jusqu'au dernier mois de la base en "Feuil1". Sachant que je ne sais pas à l'avance combien de ligne il y aurait à copier. (Donc il faudrait inclure une fonction count sur les lignes ?)

Ensuite, je souhaiterais pouvoir copier l'en-tête du premier mois en cellule H3 de la "Feuill1" et de la copier n fois (ou n correspond au nombre de lignes copiées précedemment pour chaque mois) dans la colonne C de la "Feuil2" (à partir de C2).

Enfin, je souhaiterais que les colonnes de la "Feuil1" suivantes : (C4:Cn), (D4: Dn), (E4:En), (F4:Fn), (G4:Gn) soit copiées respectivement dans les colonnes E (à partir de la deuxième ligne), G, I, K et M et duppliquées jusqu'à la toute fin du tableau.

Je joint un exemple avec ce post avec des codes couleurs pour mieux s'y retrouver,

Je ne demande pas qu'on me fasse entièrement ce travail mais si quelqu'un pouvait me débloquer sur certains aspects. Je sais utiliser la fonction copier coller mais la difficulté ici se trouve dans le fait qu'on ne sache pas au préalable le nombre de ligne à copier (je ne sais pas quelle fonction je dois utiliser) mais également de devoir copier des valeurs en dessous d'autres valeurs (comment paramétrer cette action ?)

Si je pouvais avoir un exemple pour chaque cas, cela me permettrait de l'étendre de mon côté le code à chaque colonne voulues. ça serait génial

Merci beaucoup pour votre aide !

14exemple.xlsx (49.07 Ko)

Bonjour!

Je t'ai fait un exemple ici :

Le programme est commenté du coup tu peux regarder un peu comment ça fonctionne, reviens ici si tu veux des explications plus poussées

A noter:

L'exemple est loin d'être optimisé, le temps d'excécution est très long, il serait plus rapide de passer par un tableau VBA pour faire les mêmes actions et resortir son contenu avec des boucles.

Je ne me suis pas occupé non plus de la mise en forme, juste du fait de copier et de coller

Bonne chance pour la suite

Un grand merci à toi,

J'ai réussi à faire la macro avec les éléments que tu m'as donné ! \o/

C'est vrai que le temps d'execution est assez long, je vais faire des recherches sur les tableau VBA pour ma culture personelle !

Encore merci pour le coup de main, c'est vraiment génial de partager son savoir comme tu le fait à de petites brebis égarées comme moi ...

Excellente journée !

Pas de soucis

Tous le monde commence quelque part... personnellement il y a encore plein de réponses faites sous VBA que je ne comprends pas

En tout cas si tu as des questions sur VBA au niveau de la gestion des tableaux n'hésite pas à demander

C'est tout à fait faisable d'enregistrer des codes couleurs dans des tableaux et de les ressortir par la suite

Il ne faut juste pas se perdre quand tu codes et tester pas à pas ton programme en débogage, je fonctionne comme ça personnellement comme je débute encore

Bonne chance en tout cas et n'hésite pas à revenir

Rechercher des sujets similaires à "macro copier coller lignes"