Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème avec OpenDatabase

1 réponse
Avatar
Alain
Je tente de transférer des données d'une feuille Excel vers une base de
données Access.
Dans Excel, j'utilise le programme suivant pour tester ma connexion avec ma
base de données:

Dim db As Database
Set db = OpenDatabase("c:\temp\base_de_donnee.mdb")
MsgBox "Connexion OK."

J'ai défini une référence à Microsoft DAO 3.6 Object Library.

Sur mon PC, ce programme marche.
Sur le PC de mon collègue, avec le même programme et la même référence à
DAO, j'ai le message d'erreur suivant:

Erreur d'exécution '429':
Un composant ActiveX ne peut pas créer d'objet.

Avez-vous une idée de solution ?
Merci d'avance.

1 réponse

Avatar
MichDenis
Bonjour Alain,

D'abord une adresse pour mettre à jour MDAC

http://support.microsoft.com/default.aspx?scid=kb;fr;239114


Et un exemple de code pour exporter un tableau Excel vers une table ACCESS


Pour le temps que va durer l'exportation, on doit créer une plage nommée
de la colonne à exporter vers la base de données.

Cette plage nommée dans l'exemple s'appelle "Plage".
La toute première ligne de la plage nommée "plage" représente une étiquette
de colonne du même nom de champ de la table
où les données seront exportées.

Dans l'exemple suivant, il ne te restera plus qu'à adapter le nom des
objets selon ton application.

toto = Nom de la table dans la base de données Comptoir.mdb

Pour ce qui est du champ de numéro automatique dans ta base de données, il va se mettre à jour tout seul !

Évidemment, tu dois ajouter la bibliothèque : Microsoft DAO 3.6 objects Librairy
'--------------------------------------------
Sub ExporterVersAccess()

Dim bd As DAO.Database
Dim Rst As DAO.Recordset

With Worksheets("Feuil1")
.Range("B4:B" & .Range("B65536").End(xlUp).Row).Name = "Plage"
End With

Set bd = OpenDatabase(ThisWorkbook.FullName, False, False, "excel 8.0")

bd.Execute "INSERT INTO toto IN 'C:ExcelComptoir.mdb' SELECT * FROM [Plage]"
ThisWorkbook.Names("Plage").delete
bd.Close
Set bd = Nothing
End Sub
'--------------------------------------------


Salutations!





"Alain" a écrit dans le message de news:

Je tente de transférer des données d'une feuille Excel vers une base de
données Access.
Dans Excel, j'utilise le programme suivant pour tester ma connexion avec ma
base de données:

Dim db As Database
Set db = OpenDatabase("c:tempbase_de_donnee.mdb")
MsgBox "Connexion OK."

J'ai défini une référence à Microsoft DAO 3.6 Object Library.

Sur mon PC, ce programme marche.
Sur le PC de mon collègue, avec le même programme et la même référence à
DAO, j'ai le message d'erreur suivant:

Erreur d'exécution '429':
Un composant ActiveX ne peut pas créer d'objet.

Avez-vous une idée de solution ?
Merci d'avance.