Lier les données de plusieurs fichiers et les synthétiser ?

Bonsoir,

Je suis nouvellement arrivée sur ce forum mais j'ai déjà eu l'occasion d'y trouver des informations bien intéressantes par le passé, en farfouillant dans les divers sujets.

Grâce à l'aide communautaire de ce site, j'ai constaté que de nombreux utilisateurs avaient pu trouver des solutions, aussi j'ai décidé de vous déposer ma requête afin de voir si, d'une part elle est réalisable et, dans l'affirmative, voire dans un deuxième temps comment la mettre en œuvre (sur excel version 2003).

Voilà, au bureau nous sommes 4 agents, qui travaillons sur des fichiers excel différents, mais avec des données similaires :

Sur la feuille 1 --> les en-tête étant les suivantes : nom/prénom du bénéficiaire, date d'arrivée, type de demande (1ere demande, renouvellement, etc), domicile ou établissement.

Sur la feuille 2 --> les en-tête étant les suivantes : nom/prénom du bénéficiaire, type de demande (1ere demande, renouvellement, etc), domicile ou établissement, date de dossier complet, date de transmission autre service

Avec ces informations, nous tenons à jour des statistiques mensuelles (sur la feuille 3) --> Nombre de 1eres demandes à domicile arrivées, Nombre de demandes en établissement arrivées, le total ; Nombre de renouvellements à domicile arrivés, Nombre de renouvellements en établissement arrivés, total ; puis la même chose avec la notion "dossier complet à domicile en distinguant à nouveau les 1ères demandes des renouvellements...etc

Je ne sais pas si je suis très claire, et je m'en excuse par avance. Le document en exemple sera probablement plus parlant bien que peu détaillé, s'agissant de lignes récurrentes (idem pour les fichiers des 3 autres agents)

Jusqu'alors, chaque agent gérait ses propres statistiques sur son fichier mais, à l'avenir, nous devrons tenir un tableau récapitulatif commun pour ces mêmes statistiques.

Ma question est donc : est-il possible (via un tableau croisé dynamique ou autre ?) de regrouper les données, avec des calculs automatiques, en fonctions des données saisies dans 4 fichiers différents ? Et si oui, comment procéder ?

Question subsidiaire : est-il possible d'importer, dans ce même tableau, des données provenant d'autres sources pour réaliser davantage de statistiques ? Et ce, toujours avec des calculs automatiques...(et une mise à jour des données lorsque les 4 fichiers sources sont réalimentés ? c'est peut être trop demander )

Petite précision : le tableau test que je vais vous joindre est fait sous excel starter car je n'ai pas d'autre version chez moi, mais je dois l'appliquer sur la version 2003 d'excel au bureau.

Tout cela est peut-être tout simplement impossible, mais qui ne tente rien n'a rien !

Merci d'avance !!

Bonjour et bienvenue sur le forum

Si les 4 fichiers ont exactement la même structure, je peux te proposer de compiler leurs données sur un 5° fichier qui aurait donc, lui aussi 2 feuilles.

Pour les statistiques, c’est une autre affaire qui pourra faire l’objet d’un autre sujet.

Cela te convient-il ?

Bonjour,

Tout d'abord merci pour votre intérêt et pour votre prompte réponse.

Pour la structure des fichiers, ils sont actuellement sous des formes légèrement différentes (certains fusionnant les nom et prénom alors que d'autres les séparent, comme sur l'exemple). Cependant, ce n'est pas un souci, nous pourrions très bien repartir sur une structure identique pour l'année 2015, il n'y aurait pas d'opposition à cela.

Je vais de suite préciser que je suis novice dans l'utilisation d'excel (disons que je maîtrise les formules de calculs, les conditions et , grâce à ce forum, le comptage de cellules colorées) ce qui pourrait expliquer mes difficultés dans la compréhension des termes techniques (macro ? module etc) et je m'excuse d'avance pour mon ignorance !

Donc, j'avoue ne pas trop m'y connaître, même si j'aime bien tenter et tester des choses car je trouve qu'excel est un outil formidable...quand on sait l'utiliser ^^

Aussi, je vais vous demander des explications complémentaires : Par compiler les données, vous voulez dire qu'il me faut faire un "import de données" sur un nouveau fichier ? J'ai tenté cette solution hier au bureau (en testant - et c'était une première - de faire un tableau croisé dynamique avec un import de données, mais ce ne fut pas probant car cela n'assure pas de mise à jour en cas d'ajout / suppression de ligne dans le fichier source (mais je doute d'avoir bien réalisé les manipulations, c'est assez complexe pour moi).

Néanmoins, si il n'y a pas de possibilité de mise à jour auto, cela reviendrait donc plus simplement à faire un copier-coller de nos 4 fichiers dans un nouveau fichier commun au terme de chaque mois. Mais mon but était de simplifier cette tâche.

Ai-je donc raté une étape ? ou n'est-ce tout simplement pas ce que vous me conseillez de faire par "compiler les données" ? J'ai aussi entendu parler de "consolidation", mais, là encore, je ne saisi pas bien ce dont il s'agit.., d'autant qu'il faut que cela s'applique sur excel 2003 (or, dans les recherches que j'ai réalisé, je le vois plutôt sur les versions 2007).

Je suis vraiment désolée, quant je vois la fluidité des réponses entre les autres internautes, je me dis que je suis vraiment la pire des débutantes en la matière

En commentant par la fin ton dernier message, tu écris :

je me dis que je suis vraiment la pire des débutantes en la matière

La pire, je ne sais pas mais il faut bien admettre que l’on à tous été débutant. Je ne connais personne qui soit né avec Excel intégré à son cerveau. Même pas Einstein, ce génie, qui, le malheureux, est parti sans connaître ce logiciel !

Et pour reprendre tes explications :

Pour la structure des fichiers, ils sont actuellement sous des formes légèrement différentes (certains fusionnant les nom et prénom alors que d'autres les séparent, comme sur l'exemple).

Ce n’est pas grave qu’ils fusionnent, mais ils faudrait alors qu’ils fusionnent tous. En fait il faudrait que l’on retrouve le même genre de données aux mêmes colonnes. Sinon, cela va compliquer la tâche…et la rapidité de d’exécution.

compréhension des termes techniques (macro ? module etc.)

‘’Macro’’ est un terme qui désigne une procédure écrite par un utilisateur d’Excel en langage VBA et qui reste attaché à un fichier. Elle permet d’exécuter des calculs et des manipulations de données de façon automatique.

‘’Procédure’’ est le même terme utilisé par Excel. Les procédures sont rangées dans des modules ou dans des feuilles du fichier.

Et quand je parle de compiler, (je ne sais pas s’il y a une définition bien précise), je veux dire empiler à la suite, sur la même feuille d’un fichier, les données semblables de tes 4 dossiers.

C’est ce que j’ai fait avec les 5 fichiers ci-joints, à l’image du fichier que tu as joint à ton premier message.

Pour voir ce que cela donne (c’est juste un exemple de ce qu’on peut faire), mets-les tous les 5 dans un dossier. Puis ouvre le fichier dont le nom finit par v1.

Assure-toi que les feuilles ‘’Dossiers arrivés’’ et ‘’Dossiers complets’’ sont vides de données et ne comportent que le titre des tableaux.

Clique sur le bouton Bleu ‘’Mise à jour des importations de fichiers’’ sur l’onglet ‘’Menu’’.

Regarde ensuite ce que tu as dans les feuilles ‘’Dossiers arrivés’’ et ‘’Dossiers complets’’. Ouvre les dossiers dont le nom finit par A, B, C ou D et compare…

Le résultat te convient-il ?

Si oui, on peut poursuivre en essayant de s’adapter à ton cas : les 4 fichiers sources ne sont peut-être pas dans le même dossier, il y a peut-être des différences de structure ente eux …

Pour les statistiques, on verra après mais il sera plus facile de faire de faire des statistiques portant sur l’ensemble des 4 dossiers si on a rassemblé sur une seule feuille et un seul tableau leurs données.

A te relire.

Encore merci de m'accorder de votre temps, c'est vraiment gentil à vous !

J'ai voulu tester la solution proposée, mais malheureusement, je pense que ma version starter (à mon domicile) ne permet pas la lecture de votre fichier V1 puisque j'ai un message m'indiquant que windows ne reconnaît pas le programme etc.

Aussi, je ne vais pouvoir vous répondre dans l'immédiat et j'en suis désolée. Pour l'heure, je vais commenter vos réponses :

Ce n’est pas grave qu’ils fusionnent, mais ils faudrait alors qu’ils fusionnent tous. En fait il faudrait que l’on retrouve le même genre de données aux mêmes colonnes. Sinon, cela va compliquer la tâche…et la rapidité de d’exécution.

Comme dit précédemment, ce n'est pas un souci, je peux proposer à mes collègues de créer un nouveau fichier pour 2015 avec une même base, ainsi plus de souci.

Si oui, on peut poursuivre en essayant de s’adapter à ton cas : les 4 fichiers sources ne sont peut-être pas dans le même dossier, il y a peut-être des différences de structure ente eux …

Les 4 fichiers ne sont pas dans le même dossier. A vrai dire, nous travaillons en réseau, sur un même serveur, avec chacune un répertoire personnel et, à l'intérieur de ce répertoire, nous avons chacune notre fichier. Si cela pose un problème, là encore, je peux suggérer d'ouvrir un répertoire commun mais tout en gardant 4 fichiers sources distincts (nous sommes amenées à les compléter régulièrement et parfois simultanément. De fait, avec un seul fichier commun nous aurions un problème de lecture seule, ce qui n'est pas envisageable).

Un Ange Passe... a écrit :

Les 4 fichiers ne sont pas dans le même dossier.

Alors, quand tu seras au travail, et si ce que je t’ai envoyé te convient, je t’invite à faire une petite manip pour connaitre le chemin d’accès à tes 4 fichiers :

1 – Tu ouvres le premier de tes 4 fichier dont tu veux noter le chemin d’accès

2 – Tu mets dans une cellule vide quelconque de ce fichier a formule :

= CELLULE(‘’Nomfichier’’ )

et tu valides

3 – Tu copies cette cellule et tu fais un collage spécial-valeur, dans la même cellule ou dans une autre.

4 - tu copies la formule obtenue et tu la colle dans ton prochain message.

Cette manip est à répéter 4 fois puisque tu as 4 fichiers.

Je pourrais alors intégrer ces chemins d’accès à la macro pour que tes données remontent sans que tu aies à rechercher les fichiers et les ouvrir.

Bye !

Bonsoir gmb, j'ai voulu réaliser la procédure demandée au bureau, mais pour les braves point de salut...ça n'a pas fonctionné !

j'ai tapé la formule dans une cellule vide de mon tableau soit = CELLULE(‘’Nomfichier’’ ) , mais ça n'a rien donné d'autre qu'un message d'erreur d'excel m'indiquant que ma formule était erronée. Donc, pas de chemin d'accès trouvé.

Peut-être cela est-il dû au fait que nous travaillons sur des zones particulières de divers serveurs en réseau. De la même manière, j'ai un accès limité à internet (charte informatique oblige) c'est pourquoi je n'ai pas pu non plus charger le tableau estampillé en xlsm.

Je pense que je vais donc abandonner ce projet car il me semble difficile de le mener à son terme avec autant de freins...

Le calcul des cellules en couleurs, c'était plus simple au sens où j'avais seulement suivi une procédure dans excel en copiant/collant une formule dans un module, mais là, ça semble bien plus compliqué à mettre en œuvre.

Je m'excuse donc platement pour le dérangement et le temps perdu par ma faute. Encore merci à vous en tout cas !

(ce qui ne m'empêchera pas d'essayer de me perfectionner dans l'utilisation d'excel )

Bonjour

Je suis étonné que même la formule : = CELLULE("Nomfichier") ne donne rien. En principe, cela n'arrive que si on la tape dans un fichier nouveau qui n'a pas encore été enregistré.

Quel dommage d'abandonner !

J'avais pris goût à ce projet...

Mais tu n'as pas à t'excuser : qui tente rien n'a rien.

Alors Bye !

et à bientôt peut-être ?

Pourtant j'ai bien tapé cette formule, avec un espace ou sans espace entre = et CELLULE (dans le doute) mais rien n'y a fait. Et il s'agit bien de fichiers enregistrés depuis longtemps, donc je ne sais pas quoi répondre.

Je retenterai quand même demain, peut-être que j'ai fait une faute de frappe sans m'en rendre compte. On ne sait jamais !

Je n'ai pas l'habitude d'abandonner, mais du coup, je ne vois pas trop comment procéder si je ne peux pas transférer ton fichier au bureau (et pas la peine de songer à une clé USB, là encore les ports USB des clients légers sont verrouillés ^^).

Cela dit, si tu as une solution alternative, je suis toujours preneuse !

(Je me permets le tutoiement !)

Edit :J'ai testé la formule = CELLULE("Nomfichier") chez moi, avec ma version starter, dans le fichier D que tu m'as transmis et, là encore, même message d'erreur (enfin pas de message d'erreur comme au bureau, mais le résultat #Nom? ce qui revient au même au final.

Or, je viens à l'instant de faire un copier coller de cette formule, vue dans ton dernier message et, là, ça fonctionne ! Je pense que dans ton premier post, il y avait une erreur dans la formule. En regardant de plus près, il apparaît que les guillemets sont en italique dans la première formule envoyée ce qui aurait causé ce souci.

Alors on reprend espoir ?

Ci-joint un fichier avec la formule qui donne l'adresse.

Bye !

55classeur1.xls (13.50 Ko)

Je ne peux pas ouvrir ce dernier fichier avec ma version starter, là encore, on m'invite à chercher un programme sur le net susceptible de l'ouvrir (comme c'était déjà le cas avec le fichier en extensions xlsm.

Or ici, c'est bien un fichier xls, du coup je ne comprends pas pourquoi ça ne s'ouvre pas (dans mon fichier, je vois néanmoins document type de fichier : OOBE.document, alors que les autres sont des feuilles de calculs, c'est sans doute pour ça)

J'avais repris espoir, mais c'est assez ténu pour le coup !

Bonjour,

Ci-dessous, les limitations de MS Office starter :

Office Starter 2010 ne sera ainsi pas capable d'ouvrir les fichiers aux extensions .dsn, .mde, .accde et .udl qui sont relatifs aux bases de données. De même, pour les fichiers .xla, .xlam liés aux macros Excel. De manière générale, si un document contient une macro, le document sera ouvert par Office Starter 2010 mais la macro sera désactivée. La suite ne pourra pas non plus créer ou éditer une macro.

Bonjour Jean-Eric

Merci pour ton intervention.

Voilà qui explique nos soucis.

Bon, décidément, ce n'est pas de chance...Merci pour ces précisions Jean Eric !

Du coup, ça ne va pas être possible de réaliser de tests à domicile ce qui limite (encore plus !) mon champ d'action.

Alors, gmb, peux-tu m'expliquer comment procéder pour créer la formule que tu avais mise au point et que je puisse la transposer au bureau ?

Bonjour

Un Ange Passe... a écrit :

peux-tu m'expliquer comment procéder pour créer la formule que tu avais mise au point et que je puisse la transposer au bureau ?

Un bon dessin vaut mieux qu'un long discours. Alors voilà :

capture

Ça, après m'être rendue compte du problème de guillemets erronées, j'ai su le faire et ça a fonctionné,tant chez moi qu'au bureau.

Dans mon dernier message je songeais plutôt à la suite , c'est à dire les formules que tu voulais me conseiller dans ton tout premier tableau, permettant de lier mes données ou les compiler pour reprendre ton terme.

Je me suis peut être mal exprimée, désolée !

Un Ange Passe... a écrit :

c'est à dire les formules que tu voulais me conseiller dans ton tout premier tableau, permettant de lier mes données ou les compiler pour reprendre ton terme.

Pour avancer, il me faut avoir les chemins d'accès de tes quatre fichiers. ils me permetttront de les réunir sur un cinquième, comme j'ai fait avec l'exemple des fichiers test satistiques A, B, C, D, que je t'ai envoyés et que tu pourrais (avec une version autre que starter) réunir sur le fichier test statistique v1 qui contient une macro.

Commençons par ça car si on n’arrive pas à faire fonctionner la récupération automatique des données, inutile d’aller plus loin.

Rien que pour me communiquer les chemins, si ne ne peux ni les copier sur un fichier Excel, ni te les adresser par internet, je ne vois plus qu’une solution : les copier sur une feuille, l’imprimer, la scanner et joindre la photo à ton prochain message.

On n’a pas fini d’échanger !

Mais cela pourrait être notre rendez-vous du soir … !

Bye !

Oh, un rendez-vous quotidien, voilà qui est bien palpitant, tout un monde de découverte....informatique ! Je débute dès le matin du coup..

Alors, à titre d'exemple dans un premier temps, je vais utiliser les chemins d'accès des fichiers que tu m'as envoyé :

C:\Users\Asus\Desktop\test excel\[test statistique A.xlsx]Dossiers complets

C:\Users\Asus\Desktop\test excel\[test statistique B.xlsx]Dossiers complets

même chose jusqu'au tableau D

Je ne sais pas si, en attendant les chemins du bureau (que je ne vais moi même prendre que dans un instant), ça te permettra d'avancer sur tes propres tests de ton côté...

Bonne journée !

Bonjour

Alors, à titre d'exemple dans un premier temps, je vais utiliser les chemins d'accès des fichiers que tu m'as envoyé :

Je suppose qu’il s’agit des 4 fichiers que tu as recréés à ton travail et que tu as mis sur ton bureau.

Si c’est bien cela, on va pouvoir commencer les tests.

1- Crée un 5° fichier identique aux 4 autres, que tu appelles comme tu veux, ce sera Récap pour moi, et que tu classes où tu veux. Il doit être l’équivalent du fichier ‘’test statistique v2’’ que je t’ai adressé avec les 4 autres, c’est-à-dire avec une feuille appelée ‘’Dossiers arrivés’’ qui contient les titres des données à récupérer.

2- Sur une autre feuille de ce fichier, (ou sur la même feuille, d’ailleurs …), tu crées une zone de texte qui sera ton bouton de commande :

« Insertion (dans le bandeau) – Texte – Zone de texte » et tu la dessine avec la souris, index enfoncé.

Tu y saisie un nom ex : « Mise à jour des importations de fichiers »

3- Tu fais un clic gauche, avec la zone de texte toujours sélectionnée. Une fenêtre s’ouvre :

4- Tu cliques sur ‘’Affecter une macro’’

5- Tu écrases le nom proposée en y mettant ton propre nom de macro. Ex : Importations (ou autre chose mais en un seul mot)

6- Tu cliques sur ‘’Nouvelle’’ Une feuille macro s’ouvre alors : elle est vierge et c’est là que tu vas devoir saisir le code ci-dessous.

Fais très attention à cette saisie. La moindre virgule ou le moindre point en plus ou en moins et c’est le bug assuré.

Seules les parties en vert, qui sont précédées d’une apostrophes sont ignorées de la macro et sont donc facultatives.

Quand tu as fini, retourne sur la feuille où se trouve le bouton que tu as créé et clique sur celui-ci

Si tout va bien, la macro se déclenche alors et les 4 feuilles s’ouvrent et se referment une après l’autre et les données sont mises à la suite sur la feuille ‘’Dossiers arrivés’’ de ton Récap.

Quand c’est fini, regarde si c’est bien le cas.

A toi de jouer.

Bon courage et bonne chance !

PS : voici le code :

Option Explicit

Dim wb, chemin, nomFichier, classeur, derLn, lgn, i
Dim dossierA, dossierB, dossierC, dossierD, dossier

Sub Importations()

    'on initialise les zones de réception des données
    Set wb = ActiveWorkbook
    With wb
        .Sheets(Feuil2.Name).Range("A1").CurrentRegion.Offset(1, 0).ClearContents
        .Sheets(Feuil3.Name).Range("A1").CurrentRegion.Offset(1, 0).ClearContents

        dossierA = "C:\Users\Asus\Desktop\test excel\test statistique A"
        dossierB = "C:\Users\Asus\Desktop\test excel\test statistique B"
        dossierC = "C:\Users\Asus\Desktop\test excel\test statistique C"
        dossierD = "C:\Users\Asus\Desktop\test excel\test statistique D"
        dossier = Array(dossierA, dossierB, dossierC, dossierD)

        'on ouvre les fichiers et on récupère leurs données
        For i = 0 To 3
            nomFichier = dossier(i)
            If nomFichier <> ThisWorkbook.Name Then
                Set classeur = Workbooks.Open(chemin & nomFichier)
                Sheets("Dossiers complets").Activate
                lgn = .Sheets(Feuil2.Name).Range("A" & Rows.Count).End(xlUp)(2).Row
                Sheets("Dossiers arrivés").Range("A2:E" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Sheets(Feuil2.Name).Range("A" & lgn)
                lgn = .Sheets(Feuil3.Name).Range("A" & Rows.Count).End(xlUp)(2).Row
                Sheets("Dossiers complets").Range("A2:F" & Range("A" & Rows.Count).End(xlUp).Row).Copy .Sheets(Feuil3.Name).Range("A" & lgn)
                classeur.Close
            End If
        Next i
    End With
End Sub

Les choses sérieuses commencent, il n'y a plus qu'à attendre demain (et surtout de trouver un peu de temps à consacrer) pour tester tout ça au bureau, étant donné que je suis toujours bloquée niveau macro avec ma version starter !

Seules les parties en vert, qui sont précédées d’une apostrophes sont ignorées de la macro et sont donc facultatives.

Cela veut donc dire que même les couleurs sont importantes dans la macro ? bleu, vert, rouge...quésaco ?

Les codes ont toujours l'air complexes pour les néophytes tels que moi. A quoi tout cela correspond exactement ? Il doit bien avoir une sorte de méthodologie pour ce langage bien particulier (j'aime bien comprendre ce que je fais, maintenant si c'est trop complexe à expliquer, pas de souci, j'en demande déjà beaucoup en terme d'investissement personnel, donc je ne voudrais pas non plus abuser et devenir pénible....).

Je ne peux que te remercier du temps et de l’énergie consacré à ma problématique quel qu'en soit le résultat !

Rechercher des sujets similaires à "lier donnees fichiers synthetiser"