RechercheV dans un fichier non ouvert

Therusse

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je suis comptable pour plusieurs sociétés et je dois vérifier la liste des identifiants SIREN / SIRET, adresse, etc... de leurs fournisseurs, pour cela j'ai à disposition une extraction de la base fournisseurs de chacune des sociétés au format XLSX.

J'ai récupéré sur le site de l'INSEE l'intégralité des entreprises et établissements enregistrés en France dans un fichier au format CSV (8Go), j'ai scindé celui-ci à l'aide d'un petit soft (KFK) en 11 fichiers de 700Mo que j'ai retravaillé un par un pour ne garder que les informations qui m'intéressent et je les ai enregistré au format XLSX.


J'ai donc maintenant 11 fichiers "source"
 

Therusse

XLDnaute Nouveau
Bonjour à toutes et à tous,

Je recommence mon post car j'ai fait une mauvaise manipulation la première fois...

Je suis comptable pour plusieurs sociétés et je dois vérifier la liste des identifiants SIREN / SIRET, adresse, etc... de leurs fournisseurs, pour cela j'ai à disposition une extraction de la base fournisseurs de chacune des sociétés au format XLSX.

J'ai récupéré sur le site de l'INSEE l'intégralité des entreprises et établissements enregistrés en France dans un fichier au format CSV (8Go), j'ai scindé celui-ci à l'aide d'un petit soft (KFK) en 11 fichiers de 700Mo que j'ai retravaillé un par un pour ne garder que les informations qui m'intéressent et je les ai enregistrés au format XLSX ce qui me donne 11 fichiers de 58 Mo.

Je souhaiterai à partir de chacune des extractions de la base fournisseurs des sociétés dont j'ai la gestion faire une RechercheV qui irait chercher la correspondance dans les 11 fichiers "source" mais sans avoir besoin de les ouvrir car ça prend un temps fou à chaque fois.

En recherchant sur le net j'ai vu quelques sujets par rapport à la lecture d'informations dans des fichiers qui sont fermés mais je ne pense pas que ce soit tout à fait ce que je souhaite obtenir.

J'espère avoir été clair dans ma demande et je vous remercie par avance pour votre aide et votre lecture.
 

Brice G

XLDnaute Occasionnel
Bonsoir Therusse,
j'ai bien compris le problème je pense, merci.:) Je comprends la lourdeur d'ouvrir les 11 fichiers.

Quelle version d'Excel utilisez-vous ?

Selon-moi la solution à votre problème est PowerQuery, outil pour faire des requêtes, extrêmement pratique !:cool:
Le principe : sur votre fichier de travail, sous Données, puis "extraire des données ... depuis un autre classeur", vous allez créer une requête, définir quelles colonnes du fichier source vous souhaitez, et celles-ci vont se coller dans une nouvelle feuille de votre classeur_travail.

Le hic ici vient peut-être du fait qu'il y ait 11 fichiers, sans doute un peu volumineux. Si vous pouvez joindre un fichier anonyme, avec un seul fichier source, je pourrais vous montrer plus en détails comment cela fonctionne. Je crains que le fichier de travail devienne trop lourd, mais nous verrons bien. Si quelqu'un a une meilleure idée, je suis intéressé.:p
 

Therusse

XLDnaute Nouveau
Bonsoir Therusse,
j'ai bien compris le problème je pense, merci.:) Je comprends la lourdeur d'ouvrir les 11 fichiers.

Quelle version d'Excel utilisez-vous ?

Selon-moi la solution à votre problème est PowerQuery, outil pour faire des requêtes, extrêmement pratique !:cool:
Le principe : sur votre fichier de travail, sous Données, puis "extraire des données ... depuis un autre classeur", vous allez créer une requête, définir quelles colonnes du fichier source vous souhaitez, et celles-ci vont se coller dans une nouvelle feuille de votre classeur_travail.

Le hic ici vient peut-être du fait qu'il y ait 11 fichiers, sans doute un peu volumineux. Si vous pouvez joindre un fichier anonyme, avec un seul fichier source, je pourrais vous montrer plus en détails comment cela fonctionne. Je crains que le fichier de travail devienne trop lourd, mais nous verrons bien. Si quelqu'un a une meilleure idée, je suis intéressé.:p

Bonsoir Brice,

J'utilise une version entreprise d'Office 365 et j'ai presque trouvé la solution idéale avec PowerQuery, en fait j'appelle la feuille qui se trouve dans chaque fichier via une macro et je fais une recherchev dessus, puis je la ferme et je vais chercher la deuxième feuille toujours via la même macro et ainsi de suite jusqu'au dernier fichier.

Par contre j'ai un soucis dans l'exécution de cette macro car à chaque fois je suis obligé de d'aller dans les requêtes de connexions et supprimer manuellement la connexion à la feuille précédemment ouverte sinon la macro s'arrête en mode débogage, est-ce qu'il y a moyen de supprimer cette connexion automatiquement via vba ?

Oui je peux mettre un des fichiers sources puisqu'il s'agit de données récupérée sur le site data.gouv.fr donc non confidentielles, par contre je vais l'alléger sinon ce sont des fichiers de 50 Mo environ. Pour le fichier extrait de la base fournisseur c'est plus délicat car ce sont des données d'entreprises, il faut que je supprime tout ce qui est confidentiel.

En tous cas, merci pour vos réponses et pour vote intérêt à mon problème.
 

Therusse

XLDnaute Nouveau
Bonsoir

Une autre piste (peut-être) : l'API de l'Insee

NB: Moi aussi, par curiosité, il y pas longtemps, j'ai téléchargé le fichier CSV de l'INSEE.
Mon Excel (celui du taf) n'a pas réussi à l'ouvrir.
Bonsoir Staple1600,

Tout d'abord, merci pour votre réponse.

Je suis allé sur le lien proposé mais je ne sais pas quoi faire sur la page en question, je n'ai pas vu de lien de téléchargement.

Bonne soirée.
 

Therusse

XLDnaute Nouveau
Bonjour à tous,

mais recherchev() fonctionne sur classeur fermé si je ne m'abuse.
C'est quoi le problème pour envoyer tes 11 Recherchev() jusqu'à ce que tu trouves ton info ?
eric

Bonsoir eriiiic,

Oui ça fonctionne si tu as un nombre de lignes raisonnable dans ton ou tes fichiers sources mais dans mon cas j'ai environ 800.000 lignes dans chacun des fichiers... d'où une lenteur extrême à l'ouverture du fichier de base qui se solde au bout d'un certain temps par un blocage d'Excel suite à un problème de mémoire.

Ou alors il faut que j'ouvre mes fichiers sources avant d'ouvrir mon fichier dans lequel j'ai fait la recherchev mais 11 fichiers de 800.000 lignes à ouvrir c'est un peu galère également.

Bonne soirée.
 

eriiic

XLDnaute Barbatruc
Bonjour,

Le meilleur serait sans l'interrogation en temps réel via l'API. A voir si la limite de 30 interrogation min ne sera pas un frein.
Sinon pourquoi pas un 12ème fichier avec que le nécessaire, que tu enrichirais au fil des besoins ?
eric
 

zebanx

XLDnaute Accro
Bonjour à tous,

A tester (aussi) : Juste sur des grosses bases à 58MO en xlsx, ne pas hésiter à les enregistrer en xlsb pour en réduire le volume.
Penser peut-être à access aussi pour gérer de grosses bases, en tout cas c'est prévu pour :rolleyes:

@+
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, Bonsoir Therusse, Salut zebanx ;)

Bonjour,
Le meilleur serait sans doute l'interrogation en temps réel via l'API. A voir si la limite de 30 interrogation min ne sera pas un frein.
Bonsoir eriiiic
C'est la piste vers laquelle j'essaie d'amener le demandeur depuis le message#4 ;)
Tu peux me dire si tu as essayé la chose?
Facile à mettre en oeuvre ou pas?

Si non, y-a-t-il un membre du forum qui a déjà utilisé l'API Siren de l'Insee?
 

eriiic

XLDnaute Barbatruc
Salut Staple,
A dire vrai je ne travaille pas souvent avec les API.
Quand j'ai vu qu'il y aurait en plus une gestion pour lisser l'envoi des requêtes j'ai fait demi-tour :)
En plus on ne sait pas de quoi il part, ni ce qu'il veut obtenir.
eric
 

Therusse

XLDnaute Nouveau
Bonsoir Staple, Eriiiic,
Juste à titre de précision, je connais bien Excel pour un usage courant en entreprise, j'arrive à faire quelques macros en bidouillant et en rajoutant quelques lignes de codes piochées par ci par là mais quand vous me parlez d'utiliser les API du site de l'INSEE, étant donné mon niveau dans ce domaine je suis comment dirais-je... largement paumé.
Bonne soirée.
 

Statistiques des forums

Discussions
315 085
Messages
2 116 074
Membres
112 650
dernier inscrit
badi44