Base de donnée : Optimiser lecture dans Excel [Résolu]

Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
Dernière intervention
19 février 2006
- - Dernière réponse : cs_salazar
Messages postés
241
Date d'inscription
mercredi 1 octobre 2003
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.
Afficher la suite 

4 réponses

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

Merci,

Dire « Merci » 3

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

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

Messages postés
616
Date d'inscription
mercredi 18 décembre 2002
Dernière intervention
4 juillet 2012
0
Merci
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
Dernière intervention
18 mai 2009
2
0
Merci
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
Dernière intervention
11 mars 2006
25
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.