Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Compatibilité Windows-Office

juvaxe

XLDnaute Occasionnel
Bonjour

Je suis en train de changer d'ordinateur; de ce fait : de Windows 10 je passe à Windows 11 et de Office pro 2010 je passe à Office pro 2021.
Depuis de nombreuses années j'utilise un classeur EXCEL qui gère ses données dans une base ACCESS par des commandes SQL.

La connexion Excel-Access ne marche plus , la commande

Set Dba = OpenDatabase(NomBase, dbDriverNoPrompt, False, "MS ACCESS;pwd=toto")

donne l'erreur :





Quelqu'un a-t-il une solution ou une piste qui me permettrait de sortir de cette situation.


Merci beaucoup de vos réponses

Cordialement
 

Pièces jointes

  • 1728677751172.png
    70.7 KB · Affichages: 1

juvaxe

XLDnaute Occasionnel
Bonjour
Merci pour la réponse.
Dans les références Office 2021 je retrouve les mêmes qu'il y avaient dans Office 2010 mais à un niveau supérieur.
A titre d'exemple dans mon ancien ordi il y a "microsoft access 14.0 objects library" alors que dans le nouveau il y a 16.0.

Bonne journée
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, @juvaxe, @wDog66

Ce ne serait en rapport avec ce qu'on lit ici ?
Ou une histoire de 32 bits vs 64 bits ?
 

juvaxe

XLDnaute Occasionnel
Bonjour
Merci pour la réponse
Le sujet commence a être bien compliqué pour moi !
L'information "classe non enregistrée" est trop sybilline pour permettre d'orienter une recherche. La teneur de cette information revient à rechercher une aiguille dans une botte de foin (merci à son concepteur !).
Je ne vais tout de même pas mettre Office 2010 sur Windows 11 (j'ai une licence à récupérer sur un ordi Windows XP désormais destiné à la récupération).

J'avais dans le passé adapté mon classeur à Sql server sans pouvoir le mettre en service du fait de la présence d'XP dans mon environnement.
Je vais dans un premier temps essayer de mettre cette formule (Excel 2021 -Sql server 2019) en marche. Mais si le pb vient d'Excel je risque de revenir à la case départ! Pour l'instant mon ordi sous Windows 10 reste en service jusqu'à je trouve une solution.

Bien cordialement
 

jurassic pork

XLDnaute Occasionnel
Hello,
la base access est dans quel format (accdb , mdb ? ). Pas de problème pour l'utiliser avec la nouvelle version d' access ?
Et avec une syntaxe comme celle-ci ?
VB:
Dim db As DAO.Database
Dim connStr As String
connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Path\To\Database.accdb;"
Set db = OpenDatabase(connStr)

Ami calmant, J.P
 
Dernière édition:

juvaxe

XLDnaute Occasionnel
Bonjour - Merci jurassic pork

Je viens de faire un essai avec la syntaxe suivante :
Provider=Microsoft.ACE.OLEDB.12.0;Data source =E\répertoire\sousrépertoire\TO\nombase.mdb

Toujours cette fichue "classe non enregistrée"

Bien cordialement
 

jurassic pork

XLDnaute Occasionnel
ton fichier est un mdb ? c'est un format ancien . Tu arrives à l'ouvrir dans Access ? tu peux l'enregister en format accdb ?
dans mon Excel 2021 64 bits en utilisant Microsoft Office 16.0 Access Database engine Object library ce code fonctionne avec un fichier mdb ou un fichier accdb :
VB:
Sub TestAccess()
Dim db As DAO.Database
Dim rs As DAO.Recordset
    Set db = DAO.DBEngine.OpenDatabase("D:\temp\Northwind.mdb", False, False, "MS Access;pwd=coco")
    'Set db = DAO.DBEngine.OpenDatabase("D:\temp\Northwind.accdb", False, False, "MS Access;pwd=coco")
    Set rs = db.OpenRecordset("Customers", dbOpenTable)  
    ' Use the Recordset
    Do While Not rs.EOF
       Debug.Print rs.Fields("ContactName")
    '    Debug.Print rs.Fields("Last Name")
        rs.MoveNext
    Loop  
    ' Clean up
    Set rs = Nothing
    Set db = Nothing
End Sub

 
Dernière édition:

juvaxe

XLDnaute Occasionnel
Bonjour

Merci (énormément) à vous qui avez bien voulu me répondre … j'ai trouvé !
Suite au dernier message de "jurassic pork" j'ai bien pointé mes références : il y en avait effectivement une que je n'avais pas par rapport à lui; par contre pour la mettre j'ai du trouver celle qu'il fallait enlever car il y avait une erreur pour cause de double emploi; et m'aligner complètement par rapport à lui était trop car j'avais une nouvelle erreur.
Il va donc falloir que je fasse attention à ne pas balader mes classeurs dans les deux sens.

Je vais donc pouvoir dire à ma famille proche que j'ai pu mettre en service l'ordi qu'ils m'ont offert pour mon anniversaire (p... 80!).

Bien cordialement
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…