Base de donnée : Optimiser lecture dans Excel

Résolu
Signaler
Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
19 février 2006
-
Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
19 février 2006
-
Contexte :
J'utilise un fichier Excel comme 'base de données' pour y stocker des informations sur des films : titre, durée, jaquette... Il y a pratiquement 1000 films répertoriés.
En VB, je lis toutes ces données et les affiche dans une ListBox. Or, la lecture prend environ 20 secondes, ce qui est beaucoup trop long.

Besoin :
Je souhaite pouvoir lire et afficher mes données dans la ListBox en 1 ou 2 secondes.

Questions :
Existe t'il un moyen de lire très rapidement des données dans un fichier Excel ?

Merci, d'avance.

4 réponses

Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Statut
Membre
Dernière intervention
19 février 2006
2
Je crois qu'il va falloir que je passe de la gestion de base Excel à la gestion de base de données...

Merci,
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
615
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012

Il faudrais peut être penser à utiliser quelque chose de plus approprié pour le traitement des données comme Access ou MySQL il existe pas mal d'exemples sur ce site.

Pascal Laurençon
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
Je me demande si un txt serait pas plus efficace que excel si excel ne fait pas de traitement
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
26
Enregistre ton classeur dans un fichier.txt

Private Sub CommandButton1_Click()
ActiveWorkbook.SaveAs FileName:= _
"C:\Mes documents\Classeur1.txt" _
, FileFormat:=xlText, CreateBackup:=False
End Sub

Ensuite rempli la listBox

Private Sub CommandButton2_Click()
Dim r As Long, Data
Open "Classeur1.txt" For Input As #1
r = 0
Do Until EOF(1)
Line Input #1, Data
ListBox1.AddItem Data
r = r + 1
Loop
Close #1
End Sub

jpleroisse