Macro copier coller lignes plusieurs feuilles dans une autre feuille

Bonjour à tous,

Novice en macro, et ayant cherché pendant déjà quelques jours, je ne parviens pas à réaliser une macro qui doit copier plusieurs lignes de plusieurs feuilles différentes dans une autre feuille (une feuille de synthèse en quelque sorte).

La macro doit parcourir l’ensemble des feuilles (sauf celle appelée "draft") et copier des lignes de telles manières :

- Sur la feuille "2020 (1 setp -> 31 aout)", les colonnes C D E F G et K doivent se recopier à partir de la ligne 2 dans la feuille "draft" dans les colonnes C D E G H I à partir de la ligne 11

- Sur les 3 feuilles suivantes, "boutique", "Boutique Ville hôte&collect" et "Boutique TDJ", les colonnes B C D E F G doivent se copier à partir de la ligne 3 dans la feuille "draft" dans les colonnes C D E G H I à partir de la ligne 11

Les copies doivent se faire via le bouton "Importer" présent sur la feuille "draft" et s'ajouter au fur et à mesure que de nouvelles lignes seront ajoutées dans toutes les autres feuilles. J'ai joint mon fichier de test pour être plus parlant.

Si une âme charitable pouvait me venir en aide, cela m'enlèverai une bonne épine du pied.

Merci par avance.

Bonjour,

Voici votre fichier en pièce jointe.

Cdlt,

Merci beaucoup pour votre aide 3GB, c'est exactement ce que je voulais.

Bonne journée.

Bonjour,

Super ! Mais attention, à terme, je pense qu'il faudrait réorganiser et structurer vos données de manière à faciliter ce genre d'automatisations sinon ça occasionnera des bugs .

Très bonne journée à vous aussi !

Cdlt,

Merci je vais effectivement y repenser.

Par contre petit souci lors des imports supplémentaires, les données déjà présentes dans "Draft" ne se suppriment pas lors d'un nouvel import, ce qui va me créer des doublons dans le fichier.

Ce qui veut dire qu'à chaque fois que j'appuie sur "importer", les données présentes dans "draft" doivent se supprimer pour se recréer lors d'un nouvel import.

Dans ce cas, il faut se prévoir une petite macro à utiliser au début de l'archive :

Sub Nettoyer()

with sheets("Draft")
    dl = .cells(.rows.count, 3).end(xlup).row
    .range("C11:E" & dl).clearcontents
    .range("G11:I" & dl).clearcontents
end with

end sub

A appeler dans l'autre ainsi :

sub archive()

call Nettoyer

'reste du code

end sub

Cdlt,

Encore merci, mais en appliquant le code nettoyer à l'intérieur de archive, en cliquant sur "importer" la mise en forme de draft saute complètement (cf en pj).

J'ai pourtant appliqué le code comme demandé, je vous avoue ne plus comprendre.

capture d ecran 2021 01 21 112340 capture d ecran 2021 01 21 112208 capture d ecran 2021 01 21 112321

Désolé, je n'ai pas rouvert le fichier donc je n'ai pas contrôlé... Mais ce n'est pas grand-chose, il suffit d'adapter (j'ai peut-être pas choisi la bonne ligne : 11 ?)

Sub Nettoyer()

with sheets("Draft")
    dl = 10000 '.cells(.rows.count, 3).end(xlup).row
    .range("C11:E" & dl).clearcontents '<<< CHOISIR BONNE LIGNE DEPART
    .range("G11:I" & dl).clearcontents 'IDEM
end with

end sub

C'est pour ça que les tableaux structurés s'imposent, c'est le genre de problème qu'on ne rencontre pas.

Cdlt,

C'est parfait, merci pour tout 3GB, comme je le disais je suis en mode novice, j'essaye d'avancer petit à petit, mais ça m'a bien aidé.

Encore merci pour votre aide.

Bonjour à tous,

Ayant dû réintégrer de nouvelles colonnes, j'ai décidé, suite aux conseils de 3GB, de réorganiser tous mes tableaux et d'y appliquer l'objet "range" mais je n'arrive vraiment pas à transposer mes données dans la feuille draft.

Sur toutes les feuilles, hors draft et source, les colonnes A à I, doivent se transposer dans les colonnes C à K de la feuille "Draft".

J'entends que cela doit être relativement simple, mais j'ai beau tenter divers codes, je n'y arrive pas.

Je vous joins le fichier, et suis à l'écoute de vos conseils.

Merci.

Rechercher des sujets similaires à "macro copier coller lignes feuilles feuille"