Fichier récap sous Excel

(Re) Bonjour,

En parallèle de mon premier poste, je vous explique ici un autre problème indépendant.

C'est un problème assez simple mais j'ignore si Excel peut faire cette opération.

Dans un dossier j'ai une multitude de fichier Excel, chacun d'une seule feuille. Toutes ces feuilles, bien que différentes, auront une zone commune. Par exemple la même plage de cellules A1 - F10. Ce dossier contient aussi un fichier récap.

Je voudrais que dans ce fichier récap à chaque onglet ajouté (venant d'une des feuilles Excel par la fonction "déplacer ou copier"), la plage de donnée en commune du nouvel onglet s'insert automatiquement dans le récap. (nouvelles lignes, totaux se mettant a jour automatiquement...)

Excel est-il capable de faire ce genre d'opération ?

Merci à ceux qui auront pris le temps de me lire.

Non ?

Personne pour me trouver une solution ou m'aiguiller ?

Bonjour,

C'est tout à fait possible.

J'avais fait une macro similaire ici : https://forum.excel-pratique.com/excel/copier-cellules-de-differents-fichiers-t27007.html

Tu peux t'en inspirer si tu le souhaites, ça demande quelques connaissances en VBA pour l'adapter à ton cas.

Ok merci pour cette réponse.

Je regarde ca et je te redis si j'ai reussi les modifications !

Cette macro est super intéressante.

Par contre je suis à la frontière de mes connaissances (et pas du bon coté j'en ai peur)

Mais bon je pense pouvoir me débrouiller pour l'adapter.

Quand même deux ou trois questions :

  • à chaque nouvelle feuille, une ligne s'ajoute sous la suivante. Est-il possible de choisir l'emplacement (j'entend par la sauter une ligne entre chaque insertion)
  • est-il possible de choisir un ensemble de cellule et non une seule ligne ?
  • et surtout est-il possible d'aller chercher les autres onglets de la feuille au lieu d'autres feuilles. et des onglets avec des noms spécifiques et non que "feuil1"

Merci beaucoup !

BilBo76 a écrit :

- à chaque nouvelle feuille, une ligne s'ajoute sous la suivante. Est-il possible de choisir l'emplacement (j'entend par la sauter une ligne entre chaque insertion)

Tout à fait, avec la fonction offset on peux décaller d'une ligne.

BilBo76 a écrit :

- est-il possible de choisir un ensemble de cellule et non une seule ligne ?

Oui la fonction Range sert à sélectionner aussi bien une cellule qu'une plage.

Range("A1") sélectionne la cellule A1, Range("A1:A3") sélectionne la plage correspondante.

BilBo76 a écrit :

- et surtout est-il possible d'aller chercher les autres onglets de la feuille au lieu d'autres feuilles. et des onglets avec des noms spécifiques et non que "feuil1"

Bien sur, c'est même beaucoup plus simple que la macro vers laquelle je t'ai renvoyé.

Je ne suis pas dispo ce week end, mais si tu peux attendre lundi, je pourrai t’aiguiller plus précisément si tu fournis un fichier d'exemple précis.

Bonjour.

Je suis aussi de retour de week end et je m'attaque de nouveau à ce fichier.

Je t'ai fais un fichier qui présente bien tous les différents aspects de mon problème. (je ne peux pas mettre mon fichier reel)

Je te laisse en prendre connaissance. Si tu as besoin d'explication hésite pas.

Je te remercie de ce temps que tu m'accorde.

16recapitulatif.zip (10.69 Ko)

ok vu ton fichier.

Donc tu voudrais qu'en copiant un onglet "meuble", la plage A6:H11 soit répétée dans l'onglet "récap", c'est ça ?

Psycho a écrit :

Donc tu voudrais qu'en copiant un onglet "meuble", la plage A6:H11 soit répétée dans l'onglet "récap", c'est ça ?

Oui c'est ca. La je t'ai mis un certains nombre d'onglets différents. Mais au début de ce fichier il n'y aura que l'onglet recap vide. J'ajouterai ensuite plusieurs onglets de détail. Donc ici lorsque meuble1 arrive (et parès avoir fait tourner la macro) il faudrait que la plage A1:H11 de meuble 1 se retrouve en A25:I31 de recap. Les totaux se faisant donc automatiquement au dessus.

Puis que le roisième onglets (le 2eme de détail donc) de mette en A33:I41 ...

ps : question indépendante (je trouve assez mal fichu ce "+" pour développer les lignes du dessous. Tel qu'il est présenté comme cela on dirait que le developpement de meuble1 est en fait le devellopement de meuble2 ... c'est la seule maniere de le présenter ? (question détail sans trop d'importance...)

Une autre idée que je te soumets :

1) tu prépares ton fichier RECAP avec un autant d'onglets dont un RECAP + autres données rapportées tu auras besoin déjà vides

2) tu peux les renommer pour qu'ils soient plus "clairs" en faisant 2 clics sur le nom de l'onglet

3 tu peux même donner des couleurs différentes à tes onglets en faisant un clic droit positionné sur l'onglet voulu

4) ensuite tu mets tes formules qui vont chercher d'emblée les zones dans les onglets,

5) et le moment voulu, tu COPIES (et non déplacer ou copier) les données de tes fichiers dans le fichier récap

BilBo76 a écrit :

Donc ici lorsque meuble1 arrive (et après avoir fait tourner la macro)

Cette phase est très importante et il faut savoir exactement comment se passe ton importation de meuble pour ne pas partir dans une mauvaise direction au niveau du code.

Donc tu à ton fichier récap vierge, et tu veux entrer les infos d'un meuble la macro doit :

  • importer un onglet d'un autre fichier excel déjà remplit ?
  • ajouter un onglet vierge (déjà formaté) que tu remplis à ce moment là ? (<- solution bcp plus simple)
BilBo76 a écrit :

je trouve assez mal fichu ce "+" pour développer les lignes du dessous.

Oui c'est mal fichu, et je ne connais pas d'autre manière de présenter (à part de développer une fonction en VBA avec un code long comme un jour sans pain ; et pour une fonction qui existe en natif ça ferait mal)

Mince avec la deuxieme page de discussion qui est apparue je n'avais pas vu ta derniere réponse ... =(

Psycho a écrit :

Donc tu à ton fichier récap vierge, et tu veux entrer les infos d'un meuble la macro doit :

importer un onglet d'un autre fichier excel déjà remplit ?

ajouter un onglet vierge (déjà formaté) que tu remplis à ce moment là ? (<- solution bcp plus simple)

Qu'entend tu par déjà formaté ? Si c'est ce que je pense cela ne pourra pas marcher car les feuilles type meubles sont très longues (environ 10 pages) et surtout elles sont différentes les unes des autres. Seule la première page (qui est en fait un premier recap de ce meuble) est commune a toutes (contrainte que je me suis imposée pour pouvoir faire les manips suivantes).

Donc je ne vois que la première solution... désolé pour la difficulté =(

(sinon on peut imaginer que l'on pourra "déplacer ou copier" à la main chaque onglet de tous les fichiers pour l'injecter dans le recap, puis qu'ensuite seulement la macro intervienne pour faire l'onglet récap mais bon...)


Psycho a écrit :

(à part de développer une fonction en VBA avec un code long comme un jour sans pain ; et pour une fonction qui existe en natif ça ferait mal)

c'est grâce a ce genre phrase qu'une journée Excel devient une bonne journée

BilBo76 a écrit :

Seule la première page (qui est en fait un premier recap de ce meuble) est commune a toutes

Ok.

Maintenant il faut en connaitre plus sur la structure de tes fichiers/dossiers.

Tu à un répertoire dans lequel tu à tous les fichiers de tes meubles et ça s’arrête là, ou tu à une structure avec des sous répertoires ?

Oui c'est ca. J'ai un dossier contenant on va dire 16 fichiers : 15 sur des meubles et le fichier récap. Mais la je suis vraiment ouvert =) si tu veux modifier qqch ca ne poseras pas de pb

Aie Aie Aie ...

Bonjour Psycho.

J'ai quelques nouvelles.

Tout d'abord il va falloir que je revoie la structure de mon fichier. Le problème change...

Je m'explique : la premiere partie de la macro reste la même avec l'insertion d'onglets à partir des autres fichiers excel. (celle que l'on peut eventuellement remplacé par des "déplacer ou copier")

Mais la deuxieme change bigrement.

Je te joins un fichier excel type des que j'ai fini de concrétiser ca !

[30min]

Voila c'est bon ! En fait je pense que cela va simplifier le problème !

Je te laisse prendre connaissance du nouveau fichier.

En gros on gagne une inforation avec une suite de supposition qui peuvent etre faire mais on perd un détail en faisant déjà un calcul dans chaque cellule du récap.

Après avoir fait tourner la première partie de la macro, il suffit juste de faire la somme de toutes les cellules B7 en B25 dans le récap. Cette fonction existe peut-etre déja non ? un truc du genre =somme(ongletsB7)

13recapitulatif.zip (9.08 Ko)

Ok vu le nouveau fichier. pas de soucis.

Est-ce que tu peux joindre un fichier "meuble", qui va servir à l'import dans la récap, que je vois sa structure, son nom et les données à importer.

Bah c'est simplement un des onglets.

Je t'en met un en exemple

14meuble1.zip (6.49 Ko)
Rechercher des sujets similaires à "fichier recap"