Importer et sommer des données à partir de plusieurs classeurs

newbow

XLDnaute Nouveau
Bonjour à tous et joyeux noel,

Voici les données du problème:

J'ai un nombre aléatoire de fichiers (le nombre de fichier peut varier). Sur chacun de ses fichiers que nous appelerons maintenant classeurs, j'ai une feuille "C" qui est identique pour chaque classeur (identique par sa structure, les données étant différentes) et qui représente les flux de trésorerie d'un bien.
J'aimerai consolider (entendre sommer) les flux de ces fichiers dans un fichier ad hoc que j'appelerai 'consolidation'. La réalisation de liens fichier est fastidieuse sachant que le nombre de ses biens peut varier d'une situation à l'autre. Aussi j'aimerais savoir s'il existe une macro qui réaliserait les étapes suivantes.
Ouvrir chaque fichier à partir d'un emplacement précis
Copier les données de la plage précisée de la feuille "C"
Les sommer et les coller dans la feuille"C" du classeur 'consolidation'
On peut imaginer un bouton d'activation et à côté de celui-ci une case précisant l'emplacement des fichiers.

Un grand merci à celui qui saura me répondre
Bonne fête
 

mjo

XLDnaute Impliqué
Re : Importer et sommer des données à partir de plusieurs classeurs

Bonjour et bonnes fêtes,

Il y a moyen de le faire assez simplement par formule si tous les fichiers sont des feuilles situées dans un même classeur.

Est-ce possible ?

mjo
 

ChTi160

XLDnaute Barbatruc
Re : Importer et sommer des données à partir de plusieurs classeurs

Salut newbow
Bonjour mjo
Bonjour le Forum

tout d'abord de joyeuses fêtes à toutes et tous

pour ce qui est de ta demande (pour une version VBA)
1° il serait préférable que l'ensemble des fichiers à consulter soient dans le même Dossier que ton fichier ou les données vont être récupérées
2° les fichiers à consulter on t'ils un nom particulier qui pourrait permettre de les différencier des autres exemple Alt_1 ,Alt_2 ,Alt_3 etc
la feuille Source sera toujours la feuille C par exemple
3° la plage de données à récupérer sera t'elle toujours la même
Après ces quelques précisions et un fichier exemple de la tructure de tes fichiers je pense que cela devrait rouler
Bonne journée
moi je vais retourner manger chez ma fille aujourd'hui lol arffffff dur dur :D
 

michel_m

XLDnaute Accro
Re : Importer et sommer des données à partir de plusieurs classeurs

Bonjour Newbow, Mjo, Jean-Marie,

La pièce jointe devrait te permettre de collationner les données de tes classeurs source suivant les conditions énoncées par Jean-Marie; la consolidation pourrait être effectuée dans Excel.

Jean-Marie, Bon appétit ou bonne sieste suivant l'heure de lecture et bonjour à ta fille (lol)
 
Dernière édition:

newbow

XLDnaute Nouveau
Merci de vos réponse rapides, Mjo, Chti et Michel,


Mjo, non je ne désire pas isoler les feuilles car il faudrait le faire à chaque fois comme leur nombre varient à chaque simulation.

Chti160,
1/le nom des fichiers est effectivement du type Cf150, Cf141 mais les nombres ne se suivent pas car ils correspondent chacun à un bien précis, leur emplacement peut-être le même.
2/ la feuille source a toujours le même nom.
3/ la plage de données sera toujours la même.

J'ai réfléchi cette nuit avant de m'endormir au problème, mes connaissances VBA sont rudimentaires mais la programmation devrait fonctionner de la manière suivante:
1/un loop qui ouvre le fichier de l'emplacement spécifié puis "copie" la plage de la feuille "C"
2/coller-somme dans la feuille "C" du classeur conso
et ainsi de suite jusqu'à ce qu'il n'y ai plus de fichier à ouvrir.

Qu'en pensez-vous? est-ce facilement réalisable?

Michel, merci pour ce friendly-user form qui est très intérressant, cela dit les fichiers sont lourds et il faudrait quelque chose d'automatisé sans autre manipulation sur Excel.

Une dernière chose ai-je le droit d'utiliser ce forum pour trouver quelqu'un qui pourrait me donner des cours particuliers de VBA sur Bordeaux?

A bientôt,
 

michel_m

XLDnaute Accro
Re : Importer et sommer des données à partir de plusieurs classeurs

Re,

Newbow, as tu vraiment regardé la solution de Thierry?

Tu parles de fichiers lourds, or la solution proposée n'ouvre pas les fichiers ce qui élimine le pb des fichiers lourds et est, en plus, très rapide

maintenant...
 

newbow

XLDnaute Nouveau
Re : Importer et sommer des données à partir de plusieurs classeurs

Michel,

Je me suis mal exprimé, je parlais du classeur Conso, il fait une trentaine de feuilles. L'exportation doit se sommer automatiquement en évitant les retouches afin d'éviter au maximum le nombre d'erreur liés aux manipulations. D'autres part comme il m'arrive de faire plusieurs simulations dans la journée, j'ai besoin que cela soit automatisé et qu'il n'y ai pas de retraitement à faire à chaque fois.

Dans l'entreprise où j'étais avant, il l'avait développé. Cela dit la méthode ADO que je ne connaissais pas et qu'ils ne connaissait pas non plus d'ailleurs est extêmement intérréssante car bien plus rapide. Elle serait d'un intérêt certain car je me souviens que lorsque je faisais tourner la macro et qu'elle ouvrait et fermait chaque fichier de l'emplacement spécifié cela prenait parfois un bon quart d'heure avant d'obtenir le résultat demandé.

Merci encore; A+
 

michel_m

XLDnaute Accro
Re : Importer et sommer des données à partir de plusieurs classeurs

Re,

OK. Pour avancer, pourrrais tu préciser:
1/ l'adresse de ta (tes) zone(s) à transférer pour consolider
2/ Cette zone possède t'elle des étiquettes de champs ?

Le "coller" se fera t il par empilage des feuilles "C" des cibles les unes sous les autres ou sur une seule zone donnant la somme ?


Le mieux serait que tu joignes une PJ d'une feuille source pour que qqn puisse évaluer la méthode optimum
 

ChTi160

XLDnaute Barbatruc
Re : Importer et sommer des données à partir de plusieurs classeurs

:D re
bon je suis rentré et pas de sieste Salut Michel_m,mjo
newbow je pense que cela est possible je verrai si demain soir rien de plus précis n'a été fourni (le fichier de @+Thierry que t'a fourni michel est une vraie mine d'or ) je pense que l'utilisation d'ADO devrait pouvoir faire l'affaire, on récupére dans un tableau les différentes infos des fichiers Cf xxx et on fait dans une feuille Source les opérations sur les données du tableau.
mais la c'est une autre affaire ,on va déjà récupérer les données et ensuite on verra
Bonne fin de Soirée
Ps j'ai du monde actuellement donc pas trop de temps à demain soir :p
 

newbow

XLDnaute Nouveau
Re : Importer et sommer des données à partir de plusieurs classeurs

Bonsoir Michel et Chti

J'avais écrit un bel e-mail et puis hop déconnecté.
Je vous joints 1 template pour y voir plus clair.

Michel,
Seul la partie en jaune doit être selectionnée; comme la période étudiée peut varier il n'y a pas d'étiquette de champ.
Tous les fichiers excel d'importation sont en général répertorié à un emplacement unique du type.
C:\Documents\Simulation\2006\
Pour plus de simplicité l'idéal serait de pouvoir préciser l'emplacement directement sur une feuille du classeur Excel et d'appuyer sur un bouton au dessus qui activerait la macro.

Le coller-somme se fait par simple superposition car je présume qu'une seule zone donnant la somme serait trop gourmande en octet (si toutes les valeurs sommées apparaissent dans la cellule)

Cette template est la même pour chaque fichier, il n'y a donc pas d'ajustement à effectuer, la zone champ est la même pour tous les fichiers.

Cette importation de données par ADO c'est le must, même si cela reste un langage qui reste illisible pour le débutant que je suis. Pour l'instant j'apprends à lire sur www.info-300.com ...

Merci encore et à demain,
 

Pièces jointes

  • Conso Template.xls
    27.5 KB · Affichages: 103

ChTi160

XLDnaute Barbatruc
Re : Importer et sommer des données à partir de plusieurs classeurs

Salut newbow
bonjour le fil
Bonjour le forum

arfff la je regarde et je ne comprends plus lol

tu nous as mis un classeur avec une feuille Conso est ce un exemple de classeur d'ou l'on doit tirer les données ou est ce le classeur où il faut coller les données tu dis
Je me suis mal exprimé, je parlais du classeur Conso, il fait une trentaine de feuilles
arff trente feuilles de quoi lol pour quoi faire
tu dis
Pour plus de simplicité l'idéal serait de pouvoir préciser l'emplacement directement sur une feuille du classeur Excel
l'emplacement de quoi des données ,des fichiers etc
Le coller-somme se fait par simple superposition car je présume qu'une seule zone donnant la somme serait trop gourmande en octet (si toutes les valeurs sommées apparaissent dans la cellule)
arff la c'est du Belge (flamand) biensur ,le francais je le parle couramment lol
etc etc
il faudrait pour plus de compréhension que tu nous mettes un morceau du fichier Cible celui qui doit recevoir(Données didons) et un exemple de fichier source (celui dans le quel on doit aller chercher des données à sommer (les quelles)si j'ai bien compris) tout cela pour avoir la configuration de c'est deux types de fichiers ,car pour l'instant je n'ai aucune idée de ce que tu veux faire et comment tu procèdes .... :D ;)
arff dans l'attente d'infos
Bonne Journée
 

michel_m

XLDnaute Accro
Re : Importer et sommer des données à partir de plusieurs classeurs

Bonjour newbow, Mjo, mon cher Jean-Marie

Ci joint proposition

Tes onglets source s'appellent "C" et les classeurs source commencent tous par "cf" comme indiqué au départ (... c'est effectivement le B... dans tes explications!)

ces classeurs et le classeur conso.xls doivent être dans le m^me dossier; les classeurs source doivent impérativement être fermés lors du lancement de la macro.

Enfin, sur ton classeur de travail tu dois cocher la reférence "Microsoft ActiveX data Object 2,x library " dans outils-référence de l'éditeur visual basic (x dépend de ta config)
 
Dernière édition:

newbow

XLDnaute Nouveau
Re : Importer et sommer des données à partir de plusieurs classeurs

Bonjour Michel,

Voilà c'est exactement cela dont j'avais besoin.
Je ne suis pas en mesure de l'essayer sur mon ordi de la maison car je n'ai pas installé "Microsoft ActiveX data Object 2,x library " mais je sens que l'on touche au but.

Un grand merci!
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 049
Membres
101 882
dernier inscrit
XaK_