XL 2019 extraire des données d'un fichier Excel sans l'ouvrir avec VBA

Kenza18

XLDnaute Nouveau
Bonjour,

je souhaite extraire les données d'un fichier Excel très volumineux (lire le fichier sans l'ouvrir).

les données que je veux extraire sont les suivantes :

les cellules du champ code-techno == '4GF'. --> [ ce champ se trouve sur la colonne D]

Est ce que c'est possible de m'aider à trouver une solution avec VBA s'il vous plait ?

En vous remerciant d'avance pour vote aide.



Cordialement,
Kenza
 

Airone784

XLDnaute Occasionnel
@Kenza18, @Airone784, le fil,

maint'nant, si tu préfères utiliser Excel pour lire
ton fichier .csv d'environ 15 000 lignes, c'est
ton choix, bien sûr ! :)


soan
Bon ben j'arriverais pas à me faire comprendre on dirait ! moi j'ai juste 12 fichiers excel avec un onglet ressources dans chaque fichier avec différents VBA dedans. Des fichiers dont j'ai passé pas mal de temps dessus. Je veux importer les 12 onglets ressources dans un 13ème fichier pour ensuite retravailler l'ensemble des ces données sur un fichier unique. Dans mon entreprise il n'y a pas access, je ne suis pas sur un fichier csv.

Maintenant quand je suis tombé sur cette discussion, la problématique exposée ici semble correspondre à mon besoin à une exception près que mon fichier comporte des données uniquement numériques, je pose une question et voilà ensuite qu'on m'explique que je dois faire un access et ensuite on me parle de fichier csv (je ne sais même pas ce que c'est)....
Comme la solution de job75 est proche de me satisfaire, je me permets de demander conseil...
@soan , est ce que ta solution que tu me proposes toi c'est de passer forcément par access auquel cas je dois refaire tous mes fichiers précédents ?

Quoi qu'il en soit merci de vous pencher sur mon pb!
 

soan

XLDnaute Barbatruc
Inactif
@Airone784, le fil,

oh, moi, quand j'ai parlé d'Access, c'était juste comme une possibilité envisageable,
rien de plus ! je ne dis pas qu'il faut absolument passer par Access ; mais au cas où
tu changerais d'avis, et que tu voudrais passer par Access, j'ai aucune idée dans
quelle mesure tu peux ou non utiliser tes fichiers précédents ! moi, perso, avec une
très grosse quantité de données, j'aurais commencé directement sur Access, donc
sans que se présente la question de se demander s'il faut reprendre d'anciens
fichiers ! pour une solution Excel qui lit des fichiers .csv, je laisse cela à un autre
intervenant, par exemple @job75 ou @chris ; bonne chance ! 🍀


soan
 

job75

XLDnaute Barbatruc
Bonjour à tous,
Cette méthode fonctionne bien pour transférer des données d'un fichier A vers B rapidement. J'ai testé avec le fichier que Job75 a mis dans le post #6. Ensuite, je me suis permis d'enlever la partie qui filtre les données car dans mon exemple à moi, je ne veux que récupérer des données d'un fichier B vers fichier A sans rien filtrer.
Donc, je vire la fin du code que j'ai réussi à décrypter. Par contre, en adaptant ce code à mon cas à moi comme je n'ai que des données numériques, n=0 à chaque fois et du coup ça ne fonctionne plus.
Comment faire si mes données sont numériques donc ???
Si la colonne de référence est la colonne D (C4) remplacez dans ma macro ""zzz"" par 9^99 :
VB:
n = ExecuteExcel4Macro("MATCH(9^99," & formule & "C4)") 'dernière cellule numérique en colonne D
A+
 

Airone784

XLDnaute Occasionnel
Bonjour à tous,

Si la colonne de référence est la colonne D (C4) remplacez dans ma macro ""zzz"" par 9^99 :
VB:
n = ExecuteExcel4Macro("MATCH(9^99," & formule & "C4)") 'dernière cellule texte en colonne D
A+
Merci pour votre solution, cela répond bien à mon besoin et surtout le délai d'extraction des données et très bon pour le moment.
A voir quand je vais rapatrier plusieurs onglets.

Merci bcp de votre aide.
 

Discussions similaires

Statistiques des forums

Discussions
312 107
Messages
2 085 355
Membres
102 874
dernier inscrit
Petro2611