Connexion en VBA à fichier .XLS comme base de données

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Je suis actuellement sous Excel 2013, et je voudrais traiter un fichier créé sous Excel 2010 comme une base de données, c'est-à-dire pouvoir y accéder (lecture et modifications) sans qu'il soit ouvert.

Le fichier Bdd_droits.xls en question est de type "Excel 97-2003" d'après ce que je vois dans l'Explorateur de Windows.

Voici la macro de connexion à la base de données :
VB:
Sub Connexion(FichierBdD)

    Set Cn = New ADODB.Connection
    With Cn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .ConnectionString = "Data Source=" & FichierBdD & ";Extended Properties=Excel 8.0;"
        .Open
    End With

End Sub
La valeur passée dans FichierBdD est J:\Marcel32\Bdd_droits.xls et en effet le fichier Bdd_droits.xls qui doit me servir de BdD est bien sur ma clef USB dans le dossier Marcel32.


A chaque exécution, j'obtiens un message d'erreur :
Erreur d'exécution '3706':
Impossible de trouver le fournisseur. Il est peut-être mal installé.

Manque-t-il simplement une case cochée devant une des lignes de la liste Références VBAProject, ou est-ce un autre problème ?


Merci d'avance à ceux qui voudrons bien me répondre. ;)
 
Dernière édition:

Herdet

Nous a quitté
Repose en paix
Re : Connexion en VBA à fichier .XLS comme base de données

Bonjour,

Manque-t-il simplement une case cochée devant une des lignes de la liste Références VBAProject, ou est-ce un autre problème ?
Bonjour,
Exact, il faudrait cocher la librairie : ActiveX DataObject Ça marche bien avec la 2.0
En cas de besoin, le site de Boisgontier ( parmi pas mal d'autres ) est bien pourvu en matière de traitement des fichiers fermés et avec des fichiers d'exemples déjà tous prêts.
ADO

Cordialement
Robert
 

TooFatBoy

XLDnaute Barbatruc
Re : Connexion en VBA à fichier .XLS comme base de données

J'ai déjà "Microsoft ActiveX Data Objects 6.0 Library" de coché, ainsi que "Microsoft ADO Ext. 2.8 for DDL and Security" (je ne sais elle est nécessaire).

Je vais aller regarder le site de Boisgontier (ce nom me dit quelque chose ; un forumeur peut-être ?).


Merci infiniment.
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Re : Connexion en VBA à fichier .XLS comme base de données

J'ai fini par trouver une solution.

Je vous la donne quand même : remplacer "Microsoft.Jet.OLEDB.4.0" par "Microsoft.ACE.OLEDB.12.0" dans la macro.
Et je vous indique ce qui semble être la raison pour laquelle ça ne fonctionnait pas : mon Excel est en 64 bits...
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 178
Messages
2 085 984
Membres
103 079
dernier inscrit
sle