Fusionner certaines données de plusieurs classeurs dans un seul

Bonjour à tous,

je suis nouveau sur le forum et je vous remercie d'ores et déjà pour l'attention que vous porterez à ma problématique.

J'ai déjà effectué quelques recherches sur le forum et trouvé des topics qui avaient l'air d'être similaires à mon problème sans pour autant parvenir à trouver la solution (ou peut-être aussi que je ne suis pas parvenu à agréger les différentes fractions de solutions proposées pour répondre à mon souci).

alors voilà :

-je dispose dans un dossier de plus de 70 classeurs Excel 2016 n'ayant pas le même nom (leur longueur est variable).

-ces classeurs contiennent chacun plusieurs onglets (celui qui m'intéresse est présent dans chacun des classeurs sous le même nom)

-je souhaiterais pouvoir (grâce à une macro je suppose) rapatrier au sein d'un classeur Excel vierge toutes les lignes de données (heureusement sans condition ni critère) de seulement certaines colonnes provenant d'un seul onglet de chacun de ces classeurs.

je ne sais pas si je suis assez clair

pour la suite, je saurai me débrouiller pour classer/traiter ces données selon mes besoins, mais là je bute sur cette grosse difficulté pour moi, même si je pense ne pas être un bleu total en Excel, mais bon...

ci-dessous par exemple deux des classeurs Excel (les autres ont quasiment la même structure interne en termes d'onglets, mais le nom du classeur diffère et la longueur du nom du classeur varie selon la direction ou le service concerné). Je souhaite rapatrier uniquement les données situées dans les colonnes B à P de l'onglet "document unique" présent dans chaque classeur dans un nouveau classeur.

je vous remercie infiniment pour votre aide, que j'espère rapide, car je dois finir ça pour ce mercredi matin (oui oui je sais, mais pas le choix, on m'a donné la consigne tardivement... soupir LOL).

à vous lire.

Bonjour,

Par power query cela devrait pouvoir se faire très rapidement :

image

Si comme vous dites le nom de l'onglet est le même dans chacun des classeurs cela va même etre plutot simple

Voici un exemple de ce que j'ai fait , bien sure il y aurait le chemin du dossier à modifier mais on doit pas etre loin ?

EDIT : Je viens de remarquer que tout les entètes de tableau ne sont pas identiques, j'ai donc modifier la requete et le fichier. a voir si la logique convient

22test-pq.xlsx (38.70 Ko)

bonjour Valentin85,

merci pour votre réactivité, votre fichier montre exactement ce que je souhaite.

navré pour les entêtes différentes, je récupère ces classeurs d'une personne qui a travaillé dessus et est partie l'année dernière, donc je n'avais pas remarqué. il y a donc de fortes chances pour que ce soit le cas dans les 70 autres classeurs sur lesquels j'ai besoin de travailler ! LOL

je dois toujours passer par power query ou bien ?

merci pour les précisions

Normalement Oui, j'ai adapté la requête pour quel se base sur la position des colonnes et non plus sur leurs noms. Ca devrait donc normalement fonctionnée ?

vous vous pensez capable d'essayer chez vous ? normalement vous avez seulement la source du dossier à modifier dans la requête "TEST" et l'étape "source"

Pour voir les requêtes utilisés, il suffit de faire : onglet "données" => "Requêtes et connexion" Les requêtes s'afficheront à droite. Double clicker dessus pour voir les étapes utiliser dans Power query (complément excel totalement intégré depuis 2016).

Pour mettre à jour le tableau de faire : onglet "données" => " Actualiser tout"

Cela parait compliqué au premier abord mais cet outil est vraiment un gain de temps important a terme.

j'essaie de suite. c'est une partie d'Excel que je ne connais pas, ayant appris à utiliser Excel avant 2000, et n'ayant que peu utilisé les fonctions complexes depuis...

je vous redis ça dans un moment.

merci infiniment déjà pour vos conseils.

Je reste disponible si vous avez besoin d'aide.

Normalement vous avez juste a modifier cette étape la "source" :

image

et a mettre ici le chemin de votre dossier :

image

Je suis parti du principe que les cellules "Date de mise à jour" sont forcement remplie pour choisir les lignes à conservées . Cette hypothèse vous parait la bonne ?

Bonjour à tous,

Une (autre ) proposition via Power Query.

Outre le paramétrage du chemin du dossier, la requête intègre une table de correspondance pour les colonnes à nommer.

J'attire toutefois votre attention sur les deux dernières colonnes qui font référence à des années. La cohérence entre les en-têtes des colonnes concernées et le contenu devra être assurée.

EDIT : correction fichier !

bon ben je suis un peu en galère là...

même en modifiant le chemin (j'avais trouvé tout à l'heure le même écran que celui que vous mettez avec les petites roues dentées de paramètres, mais je ne retrouve plus comment j'ai fait). je suis même allé jusqu'à l'éditeur avancé qui affiche l'intégralité du code VBA et j'ai modifié dans la première ligne le chemin. il me met un message d'erreur me disant de contacter l'administrateur système parce qu'il n'est pas parvenu à charger la nouvelle source de données.

votre version est la 2019 et moi la 2016, peut-être que les choses ne se présentent pas tout à fait comme sur votre capture d'écran chez moi et que ça suffit à me perturber...

je n'ai pas la certitude que la colonne "date de mise à jour" soit toujours remplie... au pire on peut la supprimer.

j'avoue n'avoir pas encore parcouru un à un tous les 74 fichiers pour vérifier que cette colonne est remplie partout...

toutes mes excuse JFL, je n'avais pas vu votre réponse car j'étais en train de rédiger mon message pour Valentin85 en même temps...

je regarde votre proposition de fichier tout de suite et vous redis ça.

je vous remercie d'ores et déjà infiniment pour votre aide précieuse.

bon appétit à vous

voici le message d'erreur que j'obtiens après avoir modifié le chemin et tenté "d'actualiser tout", que ce soit dans le fichier de Valentin85 ou celui de JFL

il doit y avoir un truc que je ne fais pas correctement ou alors c'est parmi les 74 classeurs qu'il y a un ou plusieurs soucis.

image

Bonjour de nouveau,

Les mises à jour Excel sont effectuées ?

On est bien daccord que c'est le chemin du dossier et seulement du dossier que vous devez mettre ?

Quel est le chemin de votre dossier ? il est sur un serveur ? vos documents ?

Avec le fichier de JFL c'est encore plus simple il suffit juste de modifier dans l'onglet "paramètre" et de mettre votre chemin à la place de celui actuel

JFL j'ai peut être loupé un truc mais même en modifiant la cellule chemin fichier, il garde l'ancienne valeur "F:\USB\_TEMP\LaurentH" ?

EDIT : Si je ne trompes pas tu avais du oublié de variabilisé le chemin dans les requetes. ca devrait fonctionner comme cela.

toujours bloqué avec le même message d'erreur, y compris dans la version du fichier de JFL "modifiée" par Valentin85.

- oui je ne mets effectivement que le chemin du dossier qui contient les 74 classeurs que je veux "fusionner"

- Excel me semble mis à jour mais je travaille au sein d'une collectivité, ça se met normalement à jour automatiquement (enfin je suppose du moins, dans la mesure où une mise à jour proposée par Microsoft est validée par la direction informatique pour s'appliquer aux postes des utilisateurs...)

- mes fichiers sont bien en local sur le disque dur de mon unité centrale.

j'ai tenté de tricher un peu en ne mettant dans le dossier que les 2 fichiers que j'ai mis comme exemple dans mon post d'origine, même là il me met le message d'erreur. je m'étais qu'il y avait peut-être trop de classeurs ou que certains posaient problème, mais ça ne change rien. ou alors je ne fais pas correctement quelque chose d'essentiel.

je fais comme ceci :

j'ouvre le fichier excel que vous me donnez

je change le chemin d'accès sur l'onglet paramètres

et ensuite je clique sur "actualiser tout"

c'est bien ce qu'il faut faire ?

merci pour votre patience avec moi

EDIT : quand j'essaie d'établir une nouvelle connexion manuellement, ça ne ressemble pas du tout aux tableaux que vous m'avez proposé, mais ça donne ça :

image

Bonjour de nouveau,

JFL j'ai peut être loupé un truc mais même en modifiant la cellule chemin fichier, il garde l'ancienne valeur "F:\USB\_TEMP\LaurentH" ?

EDIT : Si je ne trompes pas tu avais du oublié de variabilisé le chemin dans les requetes. ca devrait fonctionner comme cela.

Exact ! J'ai corrigé mon oubli dans mon post initial.

c'est sans espoir, je vais procéder manuellement en copiant-collant classeur par classeur, ça va me prendre des heures, mais bon, au moins ce sera fait.

je ne parviens pas à comprendre ce que je ne fais pas correctement, même après avoir modifié le chemin du dossier dans lequel se trouve les classeurs, ça ne fonctionne pas, il n'arrive pas à ouvrir la source de données.

je vous remercie sincèrement pour le temps que vous avez accepté de me consacrer malgré tout et je m'excuse car cela n'a pas été couronné de succès.

bonne continuation à vous.

Bonjour de nouveau,

Je suis désolé pour vous.

Il faudrait "investir" dans une version plus récente d'Excel peut-être.

De même, je n'ai jamais rencontré ce type d'erreur avant.

Désole pour vous.

Bonjour de nouveau,

J'ai converti le processus de transformation des fichiers en fonction.

A tester !

Rechercher des sujets similaires à "fusionner certaines donnees classeurs seul"