Copier plusieurs feuilles dans une seul

Bonjour,

je suis un peu bloqué pour réaliser la copie de données de planning se trouvant sur plusieurs feuilles du classeur vers une seule feuille (données une à la suite de l'autre avec le nombre de ligne qui peut varié d'une feuille à l'autre)

Cela serait bien aussi que la colonne responsable reprenne le nom de l'onglet.

J'ai fait la recherche sur le forum, j'ai trouvé quelques chose mais ne fonctionne pas bien sur mon fichier.

J'ai plusieurs onglets (avec même mise en page) et un onglet "Tous" qui est censé reprendre la liste de toutes les données une à la suite de l'autre en commençant par la ligne A10.

De plus lorsque j'effectue la macro, quand je quitte le fichier, il me mets qu'une trop grande quantité va tronqué l'image .

Je suis sous excel 2007

Merci de votre aide

982016bis.zip (111.65 Ko)

Bonjour

Comment te proposer de l'aide si tu ne joins pas ton fichier en donnant un exemple de ce que tu veux faire ?

A te relire.

Bye !

Bonjour,

en effet, mon fichier faisait plus de 500k et n'a pas été pris en compte.

J'ai diminué sa taille en enlevant des feuilles, mais la demande ne change pas malgré l'ajout de feuilles dans le futur.

Le fichier devrait être disponible

Passe par http://www.cjoint.com

A te relire

Bye !

gmb,

Le fichier est disponible normalement.

bàt

Un essai à tester. Te convient-il ?

Bye !

3702016bis-v1.zip (115.08 Ko)

gmb,

C'est super, un grand merci.

J'ai pu voir ce qui conditionne la copie ou pas de la ligne en fonction du contrôle de la colonne.

Une question, comment traduire cette ligne :

dlgR = ft.Range("A" & Application.Max(10, ft.Range("B" & Rows.Count).End(xlUp).Row)).Row

Pourquoi a t on A & B alors que l'on copie toute la partie A10:CU10 et tout ce qu'il y a en dessous.

Encore Merci a toi

[quote="mat46007"]Une question, comment traduire cette ligne :

dlgR = ft.Range("A" & Application.Max(10, ft.Range("B" & Rows.Count).End(xlUp).Row)).Row

ft.Range("B" & Rows.Count).End(xlUp).Row Cette partie d’instruction donne le numéro de la ligne atteinte en partant du bas du tableau (tout en bas) et en remontant jusqu’à la première ligne non vide, dans la colonne B.

Application.Max(10, ft.Range("B" & Rows.Count).End(xlUp).Row) Donne la plus grande des 2 valeurs : 10 ou le numéro de la ligne qu’on vient de définir.

Lorsque le tableau est vide de valeurs, la valeur 10 est retournée. C’est à partir de cette ligne qu’on va coller les valeurs copiées.

ft.Range("A" &.. Là, on définit la feuille et la colonne où on va faire ce collage.

OK ?

Bye !

C'est très clair comme explication

Merci pour tout.

Cordialement

Rechercher des sujets similaires à "copier feuilles seul"