Extraire une même cellule sur plusieurs fichiers et les regrouper sur un même fichier?

Bonjour,

Je voudrais extraire une même cellule (adresse du client) sur plus de 500 fichiers (Devis) pour les regrouper sur un même fichier pour pouvoir faire les frais kilométrique.

Merci d’avance

Hello,

tu devrais joindre un fichier exemple pour que nous puissions t’aider

Salutation

Salut Johnny,

Pour plus d’explications, sur la première photo j’ai 518 éléments c’est à dire 518 devis pour l’année 2022.

Pour le calcul de mes frais kilométriques de l’année 2022, je dois recopier toutes les adresses des 518 devis sur un même fichier excel.
Donc je pense qu’il faudrait extraire les cellules G14 et G15 de tous les devis et les transférer sur un même document.

C’est la première tache la plus importante à effectuer.

Ensuite je me demander si y’avais un système qui permettais de calculer la distance entre mon bureau et toutes ces adresses sur les devis, ou devrais je le faire manuellement en allant sur google maps et calculer 1 à 1.

Je te remercie d’avance.


Hello,
quand on parle fichier, c’est un fichier Excel, pas une photo…
envoi fichier

1 « J'aime »

Bonjour,

J’ai pas pu envoyer le dossier avec les devis donc je vous envois les fichiers excel directement.

Donc ces fichiers excel qui représentent des devis se trouve dans un dossier, et sont au nombres de 518.

Il faudrait extraire les données de la cellule ou se trouve l’adresse et le transférer sur le fichier « frais de déplacement » dans la colonne « lieu ». Pour les 518 éléments. Je vous joint 5 exemples de devis pour exemple.

Merci d’avance

Frais de déplacement.xlsx (9,7 Ko)
Devis Incognito 2 17 janvier 2022.xls (105 Ko)

Bonjour
Ci-joint ma proposition en VBA
En onglet « Feuil1 »
colonne « A » mets tous tes fichiers dont les données doivent être récupérées (chemin + nom du fichier)
ainsi :

C:\Users\archive\Excel\Forum2\Extraire une même cellule sur plusieurs fichiers et les regrouper sur un même fichier\Classeur1.xlsx

en colonne « B » le nom de l’onglet concerné par la récupération
en colonne « C » la première cellule concernée par la récupération
en colonne « D » la deuxième cellule concernée par la récupération

en colonne « E » et « F » les données récupérées
Liste ainsi tes 500 fichiers en paramétrant à l’identique toutes ces colonnes sauf les colonnes « E » et « F » qui le seront par le traitement
Les noms d’onglet ou de cellules peuvent être spécifiques à chaque fichier ou identiques
Si une boite de dialogue s’ouvre pour aller sélectionner le fichier de la ligne traitée la donnée de sa colonne « A » est erronée (chemin + nom du fichier à vérifier)
Si colonne « E » ou « F » est intégré un « #REF! » voir au niveau du nom de l’onglet

Le traitement récupère les données sans aucune ouverture des fichiers

Essaies avec une seule ligne en mettant les 2 fichiers joints dans un même répertoire (fichier « Classeur.xlsm » qui porte le traitement fichier « Classeur1.xlsx » qui possède les données à récupérer en cellule « G14 » et « G15 »)
Ouvre le fichier « Classeur.xlsm »
actualises le chemin et le nom du fichier en colonne « A » ligne 2
Cliques sur le bouton « Traitement »
Fais un autre essai avec des données différentes dans le fichier « Classeur1.xlsx » cellule « G14 » et « G15 »
Tu peux choisir d’autres cellules pour ces données à récupérer il faudra actualiser les colonne « C » et « D » dans le fichier « Classeur.xlsm » de l’adresse de ces nouvelles cellules

Puis complètes autant de lignes que nécessaire avec des chemins noms de classeurs onglets et cellules en correspondance
Ceux-ci doivent être présents dans le répertoire déterminé colonne « A » leur cellules alimentées et nom d’onglet existant comme décrit en colonne « B/C/D »

Testes et dis moi

Classeur.xlsm (22,3 Ko)
Classeur1.xlsx (9,9 Ko)

Petite précision il sera certainement nécessaire de débloquer le fichier avant son ouverture sécurité oblige
Pour celà clique droit dessus sélectionner dans la liste le dernier item « Propriétés » dans la fenêtre qui s’ouvre en bas pavé sécurité cocher « Débloquer » puis « Ok »
Le fichier est prêt à être utiliser

Je viens de tester avec tes fichier le résultat est parfait mais attention tes données ne sont pas en cellule « G14 » et « G15 » mais en cellule « F14 » et « F15 » car toutes ces colonnes sont fusionnées sur chaque ligne donc c’est la première qui porte les données soit la colonne « F » et non la colonne « G »
J’ai dû adapter l’identification de ces cellules colonne « C » et « D » du fichier « Classeur.xlsm » pour une récupération correcte

Surlignée en jaune obtenue après traitement :

Bonjour FFO,

Je vous remercie pour votre réponse.

J’ai tester votre macro et elle marche à merveille.

Cependant le but de ma démarche est justement de ne pas recopier un à un mais de faire un copier coller groupé des 500 adresses des devis pour ne pas passer des heures la dessus.

Donc est il possible d’avoir d’après vous une commande pour recopier tous les chemins d’accès d’un seul coup sur la colonne A et du coup avoir les adresses avec le peu de manipulations possible sur le fichier que vous avez créer avec le macro.

re,
une petite macro pour faire une liste des « Devis2022.xls » dans votre chemin.`**Sub Ma_Liste()
Dim sChemin, sDevis, s, MyFiles

 sChemin = "c:\users\Heinz_A\downloads\....\...."     ' chemin de vos devis
 sDevis = "Devis*2022.xls*"              'tous les devis de 2022
 s0 = sChemin & IIf(Right(sChemin, 1) <> "\", "\", "") & sDevis

 MyFiles = Split(CreateObject("wscript.shell").Exec("cmd /c dir """ & s0 & """ /b ").StdOut.ReadAll, vbCrLf)
 If UBound(MyFiles) > -1 Then Sheets("Feuil1").Range("A2").Resize(UBound(MyFiles) + 1).Value = Application.Transpose(MyFiles)

End Sub**`

Bonjour
Merci pour ce retour
La mise en place des chemins est à réaliser qu’a l’initialisation c’est à dire une seule fois
A chaque utilisation suivante juste à mettre chaque fichier dans son répertoire et d’utiliser le traitement prêt à l’emploi car la colonne « A » sera déjà complétée juste à l’actualiser si pour certain des modifications d’adresse ou de nom ont été effectué
La mise en place de ces chemins peut-être ultra simple à réaliser si tous les fichiers sont dans un même répertoire voir des répertoires commun pour un certain nombre d’entre eux juste à realiser leur chemin pour l’un d’entre eux et copier/coller pour ceux dans le même
très simple à mettre en place
Je suppose que leur implantation n’est pas en mouvance perpétuelle et donc reste stable
Si tous les fichiers sont dans un seul et même répertoire on peut automatiser leur récupération (chemin et nom)
A toi de me donner des précisions sur ce point

Bonjour FFO,

Etant donné que je suis un débutant informatique. Je ne connais pas tous le jargon.

Je sais pas si les règles du forum le permettent mais j’aimerais si vous le voulez bien que vous interveniez à distance sur mon PC, je suis prêt à accepter une contrepartie.

Car je dois réaliser ce travail pour lundi et si je dois ouvrir chaque devis c’est à dire 518 devis; copier l’adresse, la date et le coller sur un même fichier, ça me prendrais 2 journées minimum.

Peut on avoir les 518 devis dans un seul et même répertoire sans aucun autre fichier dans celui-ci ?

Au cas ou ca ne serait pas possible, vous avez dans ma 2ème publication en haut 2 photos qui résume la situation.

Une photo avec un répertoire « devis 2022 » avec les 518 devis.

Une photo avec un exemple du devis pour la sélection des cellules adresses et dates.

Toutes les adresses et les dates se trouvent sur des cellules spécifiques au devis.

Mon but est de pouvoir recopier en un coup les adresses et les dates de ces 518 devis sur un seul fichier.

Aprés ca un autre travail m’attends à savoir le calcul des distances entre mon bureau et les adresses des différents devis.

Autant dire que je ne suis pas sortis de l’auberge. :sweat_smile:

Oui les 518 devis se trouve dans un même dossier qui se nomme "devis 20223

Tu ne réponds pas à ma question à savoir un seul répertoire pour les 518 devis sans aucun autre fichier dans celui-ci ?
Merci de répondre à cette question par oui on non

Je te fais une proposition dans la journée pour les récupérer en colonne « A » de manière automatique restera à activer chez toi cette automatisme par un clique sur un bouton que je rajouerai et d’activer ensuite le bouton déjà en place pour la récupération des données pour chacun d’eux
Cela devrait le faire !!!

Oui un seul répertoire pour les 518 devis sans aucun autre fichier dans celui ci.

Merci beaucoup pour ton implication

ma solution de ce matin, tous les fichiers "Devis * 2022.xls * " à un certain chemin (+ éventuellement souschemins) avec 5 lignes de VBA en 1 seconde …

Ci-joint l’outil avec un bouton supplémentaire pour récupérer tes fichiers « Récup fichiers »
Enregistres le dans le même répertoire que celui des 508 devis
Dans ce répertoire il ne doit y avoir que les 508 devis et cet outil uniquement rien d’autre
Une fois l’outil dans ce répertoire avant de l’ouvrir débloques le ainsi :

Clique droit dessus sélectionner dans la liste le dernier item « Propriétés » dans la fenêtre qui s’ouvre en bas pavé sécurité cocher « Débloquer » puis « Ok »
Le fichier est prêt à être utiliser

Ouvres le et actionnes d’abord le bouton « Récup fichiers »
Tous les fichiers de ce répertoire doivent être présent en colonne « A »
Vérifies le ainsi que la donnée présente pour chaque ligne (quelques lignes suffisent pour la cohérence du chemin et du nom du fichier)
Si OK complètes sur une ligne les données des colonne "B/C/D’ correspondant au nom de l’onglet et des cellules concernées par la récupération à effectuée des fichiers cibles colonne « A »
Puis copier/coller jusqu’à la dernière ligne ayant un fichier colonne « A »
Actives le bouton « Traitement »
Fais moi un retour

Classeur.xlsm (24,0 Ko)