Progression d'ouverture de fichier

Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 - 22 avril 2009 à 12:23
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 - 11 août 2010 à 23:35
Bonjour,

Débutant dans la programmation en vb 2008 Express Edition, je me trouve confronté à un problème.
Je dois comparer une liste dans un fichier .txt avec un tableau Excel.
Le nombre de lignes du tableau Excel peu varier de 1000 à 60000 et son ouverture peu prendre beaucoup de temps.

Afin d'aider l'utilisateur à patienter, j'ai placé un ProgressBar piloté par un BackgroundWorker.
Comment indiquer la progression d'ouverture du fichier Excel à partir de sa taille?
Et de façon plus générale, comment indiquer la progression de n'importe quel type de fichier quand on ne connait pas à l'avance la quantité de son contenu?

Merci d'avance

31 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 avril 2009 à 08:43
dans ton cas, tu la connais, la quantité de données, non ?
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
23 avril 2009 à 14:24
Salut Renfield
Non, je ne la connais pas.
Comme je l'ai dit plus haut, elle est très variable: entre 1000 et 60000 lignes de données.
De plus, un fichier Excel de 60000 lignes de données est très long à s'ouvrir avant de pouvoir l'exploiter.
Alors, comment récupérer la progression de l'ouverture de ce fichier?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 avril 2009 à 14:29
Je me demande si Excel est la solution la plus adaptée pour faire ça...

ce serai sans doute plus propre d'utiliser Access, par exemple.
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
23 avril 2009 à 15:22
En fait, Le fichier Excel est généré par une autre application. Je n'ai donc pas le choix.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 avril 2009 à 15:24
c'est un .XLS qui est généré ?

ou un .CSV ?
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
23 avril 2009 à 15:41
Oui. Un .xls, généré par WinDev.
Je n'ai pas la possibilité de choisir le format.

Dans tous les cas, quelque soit l'extension, comment récupérer la progression de l'ouverture d'un fichier?
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 avril 2009 à 15:49
je crains que tu ne puisses le faire.
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
24 avril 2009 à 12:36
Pour ma part, je pense qu'il existe une solution.
A l'ouverture d'un fichier Excel, celui-ci affiche une barre de progression avant utilisation du dit fichier.
Est-ce une histoire de position du buffer sur le fichier?
J'imagine qu'il est possible de le faire pour n'importe quel format de fichier.
Si quelqu'un peu m'orienter un peu plus sur une solution.
Merci d'avance...........
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2009 à 13:01
Affiche un truc demandant d'attendre, ça vaut pas la peine de te prendre la tête la dessus
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
24 avril 2009 à 14:39
Il faut qu'il y en ai qui s'ammusent là où les autres s'emmerdent. Et je fait partie de ceux-là.
Me prendre la tête sur ce sujet me permet d'avancer et de parfaire mes connaissances.

Pour mon problème, c'est comme attendre un ascenseur.
Personne n'aime l'attendre, mais on patiente plus facilement lorsqu'il y a un affichage indiquant sa position et son mouvement.

Donc, si quelqu'un pouvait me donner une solution pour pouvoir déterminer la position de lecture dans un fichier (Excel ou autre) quand on ne connait pas sont contenu.
Merci!
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 avril 2009 à 14:47
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
24 avril 2009 à 15:12
Merci pour ce premier élément de réponse.
Toutefois, le fichier à ouvrir est sur le poste utilisateur.
Donc, pas de soucis de réseau.
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
11 août 2010 à 08:19
Un début de recherche : http://www.excelabo.net/trucs/progression_ajustee
Pas vraiment ce que tu cherches à faire mais bon cela peut te donenr une idée ?
++
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
11 août 2010 à 09:35
Salut ADN56,

Bien cela fasse maintenant 16 mois que le post fût posé, je n'ai toujours pas trouvé.
Tu as raison, ce n'est pas vraiment ce que je cherche puisque ce lien suppose que je connaisse déjà la quantité de ligne Excel dans ma feuille. Hors, je ne le sais pas.

Je tiens a préciser que j'utilise cette feuille via un programme en vb.net. Et appExcel.visible=False.

Je vais finir par croire que ma demande soit irréalisable. J'ai pourtant l'intuition du contraire.

Merci quand même d'avoir essayer.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2010 à 12:13
Bonjour,
pourquoi pas simplement un progressBar type Marquee + 1 message
"chargement du fichier patientez svp"

a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 1
11 août 2010 à 12:41
oui style démarrage d'xp, mais cela ne répond pas au besoin qui d'estimer le temps d'ouverture !
Tu ne peux avoir aucune info ? Style taille du fichier à lire pour en déduire avant l'ouverture le nombre de lignes ?
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
11 août 2010 à 12:46
Salut gillardg,

C'est effectivement une façon simple de faire patienter. Mais ça ne fait pas avancer mon intellect.
Mon but et d'apprendre, à me dépasser. Si j'en reste à juste mettre un progressbar type marquee et un simple texte "patientez SVP", je n'aurait même pas posté.

Quand j'ouvre un fichier lourd, j'apprécie que les concepteurs aient pensés à afficher la progression de son ouverture. Je voudrais, dans la mesure du possible, pouvoir en faire autant.

J'aimerai aussi que l'on évite de remettre en question ma demande avec des "Pourquoi faire ça" ou encore des "je pense que" ou bien "je ne crois pas que". Soyez en sur et démontrez-le
C'est de cette façon que je progresserai. Pas avec des peut-être.

Je n'ai rien conte toi gillardg, mais je veux avancer, pas stagner.

Merci encore ton intérêt... ;-)
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
11 août 2010 à 12:52
En réponse à AND56

Ton approche semble plus intéressante. Mais comment récupérer la taille d'un fichier?
A partir de là et après quelques essais, je pense pouvoir émettre une équation pouvant traduire aussi fidèlement que possible la progression d'ouverture d'un fichier...
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
11 août 2010 à 12:53
Bonjour,

il faudrait savoir par quel moyen tu lis le fichier excell

ça pourrait aider
a+
google est mon ami quand tu cherches quelque chose demande lui clairement
0
Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 1
11 août 2010 à 13:00
C'est cité plus haut. Avec vb.net (VB 2008 Express Edition). L'application Excel est invisible afin d'éviter toutes fausses manip par un utilisateur lambda.
0
Rejoignez-nous