Base de donnée : Optimiser lecture dans Excel

Résolu
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 - 6 mars 2005 à 23:12
cs_salazar Messages postés 241 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 19 février 2006 - 10 mars 2005 à 13:06
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

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

Merci,
3
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
6 mars 2005 à 23:41
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
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
7 mars 2005 à 00:26
Je me demande si un txt serait pas plus efficace que excel si excel ne fait pas de traitement
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
7 mars 2005 à 01:40
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
0
Rejoignez-nous