Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Consulter les ficheir Excel vie VBA sans les voir s'ouvrir

3 réponses
Avatar
Demerzel
Bonjour,

Je dois faire un fichier Excel récapitulatif d'autres fichiers Excel.

À l'ouverture d'un fichier Excel, celui-ci demande une date à l'utilisateur
et ensuite il doit rechercher sur le disque dur tous les fichiers Excel qui
commence par «Entreprise» et qui fini par «.xls».
Pour chaque fichier trouver, en extraire la ligne qui contient la date
fournie par l'utilisateur.

La programmation VBA n'est pas trop dur pour faire cela, mais je me posais
la question de savoir si Excel va devoir afficher à l'écran tout les fichiers
Excel qu'il trouve pour généré ce fichier récapitulatif.
Ne sait-il pas travailler en background?
Car s'il doit afficher chaque fichier ... ça prendra un temps fou (il y a
plus de 100 fichiers)

3 réponses

Avatar
Modeste
Bonsour® Demerzel avec ferveur ;o))) vous nous disiez :

Pour chaque fichier trouver, en extraire la ligne qui contient la date
fournie par l'utilisateur.

Ne sait-il pas travailler en background?
Car s'il doit afficher chaque fichier ... ça prendra un temps fou (il y a
plus de 100 fichiers)


pour ne pas voir les fichiers s'ouvrir
avant inserer l'instruction
application.screenupdatingúlse
aprés inserer l'instruction
application.screenupdating=true

éventuellement ajouter application.screenupdatingúlse dans chaque
sous-procédure appellée

une autre méthode ;o)))
ne pas ouvrir !!!!!
voir sur excelabo fc-lirefermé
dans ce cas il sera judicieux de nommer dynamiquement dans chaque fichier la
plage à saisir



--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

Avatar
renoum01
Bonjour,
Pour tous les fichiers dont le nom respecte le patron "Enterprise*.xls",
vous devez les ouvrir et vérifier si la cellule "bidule" a pour valeur la
date donnée.
Si vous ne voulez pas que l'ouverture de ces fichiers se voit, créez une
nouvelle application Excel invisible, et ouvrez vos fichiers dedans:

Dim hiddenAppli as Excel.Application
Set hiddenAppli = new Excel.Application
With hiddenAppli
.Visible = False
End With

While "il y a des fichiers"
hiddenAppli.Wortkbooks.Open "Fichier_Courant"
If("Fichier Courant est le Bon") then
Ajoute_Fichier_Dans_Liste "Fichier_Courant"
end if
hiddenAppli.ActiveWorkbook.Close
Wend
hiddenAppli.Quit
Sauve_Fichier_Resultat

Cela devrait vous aider.
--
Marcel



Bonjour,

Je dois faire un fichier Excel récapitulatif d'autres fichiers Excel.

À l'ouverture d'un fichier Excel, celui-ci demande une date à l'utilisateur
et ensuite il doit rechercher sur le disque dur tous les fichiers Excel qui
commence par «Entreprise» et qui fini par «.xls».
Pour chaque fichier trouver, en extraire la ligne qui contient la date
fournie par l'utilisateur.

La programmation VBA n'est pas trop dur pour faire cela, mais je me posais
la question de savoir si Excel va devoir afficher à l'écran tout les fichiers
Excel qu'il trouve pour généré ce fichier récapitulatif.
Ne sait-il pas travailler en background?
Car s'il doit afficher chaque fichier ... ça prendra un temps fou (il y a
plus de 100 fichiers)



Avatar
michdenis
Bonjour Demerzel,

| il doit rechercher sur le disque dur tous les fichiers Excel

Qu'une procédure doive scanner la totalité du disque dur pour extraire
les fichiers Excel concernés, c'est déconcertant !

Il me semble qu'il serait possible de regrouper la totalité des fichiers
excel dans un nombre restreint de répertoire . La recherche de ceux-ci
qu'importe la raison serait beaucoup plus simple et rapide...

Selon la structure des tableaux de tes classeurs, il est possible dans
certains cas de faire ce travail en utilisant ADO (activex data object)
qui ne requiert pas l'ouverture des fichiers.


Salutations!



"Demerzel" a écrit dans le message de news:

Bonjour,

Je dois faire un fichier Excel récapitulatif d'autres fichiers Excel.

À l'ouverture d'un fichier Excel, celui-ci demande une date à l'utilisateur
et ensuite il doit rechercher sur le disque dur tous les fichiers Excel qui
commence par «Entreprise» et qui fini par «.xls».
Pour chaque fichier trouver, en extraire la ligne qui contient la date
fournie par l'utilisateur.

La programmation VBA n'est pas trop dur pour faire cela, mais je me posais
la question de savoir si Excel va devoir afficher à l'écran tout les fichiers
Excel qu'il trouve pour généré ce fichier récapitulatif.
Ne sait-il pas travailler en background?
Car s'il doit afficher chaque fichier ... ça prendra un temps fou (il y a
plus de 100 fichiers)