Formule ou macro pour extraction auto de données via différents classeur

Bonjour à toutes et tous,

Voici ma problématique :
Tous les matins je dois télécharger 27 rapports excel de la journée précédente afin d'en extraire des données pour les copier dans un autre classeur (que j'appelle Récap dans l'exemple ci-dessous).
J'identifie ces rapports grâce à la cellule B6 qui correspond aux critères (1 - achat 1 et 2 - achat 2) dans l'exemple ci-dessous.

Chacun de ces rapports porte un numéro diffèrent chaque jour, mais le contenu est toujours le même seul les chiffres et dates changent, chiffres qu'il me faut extraire chaque jour (cellule E12 "CA net HT" et K12 "Marge").
Pour l'exemple ci-dessous, je souhaiterais que le contenu des cellules E12 et K12 apparaissent dans mon classeur récap après téléchargement de chacun d'entres eux en cellule C2 et D2 qui correspondent au CA Net HT et à la Marge. que je dois extraire.

Je recherche un solution qui me permettrait d'aller récupérer automatiquement ces chiffres chaque matins sans y passer 45 min !!
Pour info, je télécharge ces rapports excel depuis un logiciel chaque matins puis je les supprimes et en télécharge de nouveaux le lendemain matin.

Pour vous donner une idée de mon niveau de compétence actuel, pour le moment je fais du CRTL+C / CRTL+V :'(

Pourriez vous m'aider SVP avec une formule ou une macro (mais je ne maîtrise pas du tout VBA)

Vous trouverez ci-joint une capture d'écran (Récap) du tableau que j'ai à remplir tous les jours et deux captures des rapports (données 1 et 2) dans lesquels je collecte mes données (CA Net HT "E12" et marge "K12").

Merci d'avoir pris le temps de me lire.
Merci beaucoup à toutes et tous pour votre aide, je m'arrache les cheveux depuis plusieurs jours et ne parviens pas à trouver une solution tout seul.

Rapport 1 :
donnees1

Rapport 2 :

donnees2

Récap :

recap

Bonjour à tous !

Sylvain.B tu aurais plus de chances de recevoir de l'aide si tu placerais un bout de fichier

sans informations confidentielles et ce que tu veux avoir comme résultat

Bonne journée !

Bonjour le fil

@Sylvain.B je vous invite à lire/relire la charte du forum [A LIRE AVANT DE POSTER]

  • Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).

A+

Bonjour

Une petite macro à adapter à ton cas précis.

Sub Recup()
  Dim chExport As String, chSource As String
  Dim wbRecap As Workbook, wbImport As Workbook
  Dim fichier As String
  Dim chImport As String

  Set wbRecap = ThisWorkbook ' Crée un alias du classeur Recap ce serait encore mieux si on connaissait
    'le nom de la feuille de destination

  chImport = "ici le chemin complet vers le dossier des fichiers à importer" & "\" ' Sans oublier l'antislash à la fin
' Si tous les fichiers d'import sont dans le même dossier et qu'il n'ya qu'eux dans ce dossier
  Do While fichier <> ""
    Set wbImport = Workbooks.Open(chImport & fichier) ' Ouvre le fichier à importer
  ' Copie les valeurs d'une feuille à l'autre
    wbRecap.Sheets("nom de la feuille recap").Range("C2") = wbImport.Sheets("nom de la externe").Range("E12").Value2
    wbRecap.Sheets("nom de la feuille recap").Range("D2") = wbImport.Sheets("nom de la externe").Range("K12").Value2
    wbImport.Close Savechanges:=False ' Ferme le fichier Import sans sauvegarder
    fichier = Dir
  Loop

  wbRecap.Close Savechanges:=True ' Enregistre et ferme le fichier Recap

End Sub

A copie/ coller dans un module standard

Bonjour Yal_excel,

MERCI beaucoup pour votre aide, et le travail que cela vous a demandé !

Désolé d'avance je risque de poser des questions bêtes :'(

Quand vous dites créer un alias du classeur récap, qu'entendez-vous par là ?

En effet, tous les fichiers que j'importe chaque jour sont dans un seul et même dossier puis je les supprimes juste après avoir collecté les données dont j'ai besoin.

En revanche, ces fichiers ont un nom différent chaque jour, car il sont nommés automatiquement par le logiciel dans lequel je vais les chercher.

Seul le critères en cellule B6 est toujours le même.

Pensez-vous que cette macro sera fonctionnelle malgré les infos que je viens de vous communiquer ?

J'ai essayé rapidement de la mettre en place aujourd'hui mais je n'ai pas eu le temps de terminer car j'ai été appelé à gérer d'autres tâches en urgence !

J’espère avoir le temps de la tester demain, en tous cas un très très grand merci à vous pour votre aide ainsi que pour le temps que vous y avez accordé.

Si vous êtes dans les régions 84/30/34/13, je vous paye un coup et même un repas quand vous voulez ;)

Si cela peut vous permettre d'y voir plus clair je vous joint les fichiers au format excel car j'ai cru comprendre que cela serait plus aisé avec les fichiers plutôt qu'avec des captures.

Les fichiers "cajournaliers" sont mes imports dans lesquels je vais collecter mes données (CA & MARGE)

Le fichier "récap" est le fichier de destination des données collectées.

8recap-exemple.xlsx (37.42 Ko)

Merci encore vraiment, je suis touché par votre solidarité, vous n'imaginez pas à quel point !

Bonjour

Voila je pense qui répond au besoin. J' ai peut être un peu extrapolé en pensant qu'il pouvait y avoir plus de deux valeur à copier.

A propos de l'alias pour faire simple je dirais qu'il s'agit d'un raccourci qui permet d'accéder à un objet et à tous ses paramètres.

Pour le resto ça va être difficile je suis dans le 71 mais je n'ai rien contre un petit virement bancaire.

Bonjour Yal_excel,

J'ai testé ce matin la macro mais ça ne fonctionne pas, je pense que je dois faire une erreur quelque part !

Je vais me documenter via des tutos pour être certain de faire tout ce qu'il faut correctement.

Merci beaucoup en tous cas pour votre aide.

Pour le virement, je vais attendre que ça fonctionne ;)

Un grand merci en tous cas pour le travail que vous avez fait.

Comment fais t'on pour voter pour vous dans un premier temps ?

Pour le vote je ne sais pas trop mais pour les dysfonctionnement je peux probablement y faire quelque chose. Si vous disiez ce qui ne marche pas et comment cela se manifeste.

Une version un peu différente dans la manière de chercher la correspondance. A tester.

Bonjour Yal_excel,

TOP !!!

Merci beaucoup.

Désolé, je reviens de congés je n'avais pas accès à mes mails ni même à internet, la déconnexion totale ;)

Du coup, je me replonge dans ma problématique, et vous remercie pour ce nouveau fichier que je vais m'empresser de tester cette semaine.

Je vous fait un retour dès que j'aurais pu tester celui-ci.

Encore merci :)

Bonjour Yal_excel,

Je viens de tester la macro je n'ai plus d'erreur cette fois-ci donc elle a l'air fonctionnelle cependant rien ne se passe lorsque je l'exécute !

Je ne comprends pas d'ou vient le problème.

Pour adapter votre macro à ma problématique, il suffit de changer l'adresse (chImport =) ?

Car c'est ce que j'ai fait et lorsque je clique sur exécuter je n'ai plus de message d'erreur mais rien ne se passe pourtant mes rapports sont bien à l'adresse indiquée dans un seul et même dossier et il n'y a qu'eux dans celui-ci.

Donc la je sèche à nouveau :/

Merci

Bonjour

Déjà si ça ne plante pas c'est bien.
Il y a plusieurs causes possible au manque de résultat.
L'adresse de la cellule ou trouver le code ("1 - achat 1") est ce bien en B6. Le format de la chaine de caractère est bon, majuscules, espaces, tirets. Cherche t-on dans la bonne colonne? Les données sources sont elles bien sur la feuille nommée "Feuil1"?

Commencer par vérifier tout cela

Bonjour Yal_excel,

Je ne comprends pas, j'ai bien tout contrôlé et tout à l'air ok !

En revanche, je vous fait suivre en message privé une macro que l'on m'a fait suivre et qui est fonctionnelle.

Le seul problème que je rencontre avec celle-ci c'est que je suis obligé d'ouvrir tous les rapports que je télécharge chaque jour un à un puis de le refermer aussitôt afin que la macro puisse extraire les données dont j'ai besoin.

Donc dans l'ensemble je gagne quand même énormément de temps puisque je ne suis plus obligé de faire du CTRL+C/CRTL/V sur chacune des cellules mais je ne comprends pas pourquoi il me faut ouvrir chacun des rapports, savez-vous si c'est obligatoire de passer par là ?

Une autre question pour finaliser complètement mon tableau de bord, je cherche à mettre en place une formule type "recherchev avec un critère" pour terminer l'élaboration de mon tableau, mais je patauge pour changer !

La fonction "recherchev" je maîtrise, du moins je crois ;) mais j'ai du mal à ajouter le critère dont j'ai besoin.

Je vous joint le fichier excel exemple pour illustrer mes propos, j'ai créé une feuille explication dans le classeur ci-joint afin d'être plus précis.

J'en profite pour vous remercier à nouveau pour le temps et l'énergie que vous avez consacré à me venir aide et aussi et surtout votre sympathie.

Vous êtes vraiment au top !

Je doute que la rechercheV vous aide beaucoup mais je ne suis un spécialiste des formules Excel.

Je vous joins un fichier avec une formule qui marche dans une cellule Marquée en jaune mais je doute fort que cela vous soit utile. Là encore je penses que VBA serait plus efficace.

Bonjour Yal_excel,

Super :)

Tout fonctionne parfaitement, MERCI BEAUCOUP............................

Il est certain qu'avec VBA ça serait plus simple, mais mon fichier est tout de même fonctionnel en l'état, donc je gagne énormément de temps et ça change considérablement l'organisation de mes journées.

Donc vraiment un grand MERCI à tous et surtout à vous Yal_excel pour votre aide et vos conseils.

Rechercher des sujets similaires à "formule macro extraction auto donnees via differents classeur"