Macro pour ouvrir un .mdb en Acces 97

Bonjour a tous,

Je cherche ouvrir une base comptable (active et en lien avec le logiciel de compta) en .mdb afin de pouvoir travailler dessus sur excel.

Le problème que je rencontre est que je ne possède pas Acces 97 (qui semble être le format avec lequel cette base est faite) et lorsque j'essaye de l'ouvrir avec Acces 2016, un message d'erreur me dit qu'il est impossible d'ouvrir un fichier fait par une version antérieur.

Auriez vous une idée pour que je puisse extraire les données qui sont dessus?

Je vous remercie par avance,

(PS: J'ai peu de connaissance en Acces et en langage VBA pour le moment, le fait de travailler sur cette base va me permettre d'en apprendre un peu plus, donc n'hésitez pas a détailler fortement ce que vous faites et pourquoi vous faites comme ci et pas comme ça)

Pitou.

Bonjour Pitou,

Voici un de mes utilitaires sous Excel :

* Un bouton "Récupérer Tables Access" pour lire des .mdb ou .accdb

* le code demande de pointer sur un fichier Access

* pour chaque table de la base => création d'un onglet (auto)

* dans chaque onglet : ligne 1 = nom des champs, ligne 2 type des champs (cf codage onglet "Feui1") et lignes suivantes = contenu de la table

Trop facile!

Pierre

286access2xls-copie.xlsm (27.59 Ko)

Bonjour Pierre,

Merci beaucoup, malheureusement j'ai un message d'erreur Microsoft Visual Basic qui apparaît:

"Erreur d'exécution '-2147467259)':

[Microsoft][Pilote ODBC Microsoft Acces] Erreur générale Impossible d'ouvrir la clé de Registre "Temporary (volatile) Ace DSN for Process 0x1358 Threads 0x2d4c DBC 0x16755cbc

Jet".

Est ce que ca ne serait pas lié au fait qu'Acces 2016 ne peut pas ouvrir ce .mdb au format 97? D'ailleurs puis je être sûr que c'est bien du 97?

Merci d'avance,

Pitou.

Ok,

Alors fais le test suivant : avec le fichier précédent tu essayes d'ouvrir le mdb joint ici (après l'avoir dézippé sur ton PC)

Si ça s'ouvre pas c'est un bug dans mon code, si ça s'ouvre c'est qu'il y a un blocage sur ton fichier mdb.

Pierre

PS : au fait, est-ce que ton fichier mdb est protégé par un mot de passe?

166lyon-6.zip (53.78 Ko)

Ça fonctionne parfaitement avec le fichier que tu m'as envoyé,

A priori non, j’accède a la comptabilité du dossier sans avoir de mot de passe a rentrer.

Quadra est resté très évasif sur la façon dont je peux accéder a la base comptable et m'en servir comme base de travail. En revanche il existerait une faon de lié quadra a la compta mais je ne suis pas sûr que a puisse répondre a mon besoin, il me semble plus que je puisse ajouter un fichier excel sur Quadra, ce qui n'est pas vraiment ma visée...

Il faut donc que je trouve un macro pour copier cette base, et en modifier son format via un Access intermédiaire (sans doute 2000 ou 2003) pour ensuite la rouvrir via 2016.?

Merci,

Pitou.

Retournement de situation!!

Je viens finalement de réussir l'ouvrir avec Access runtime 2010, qui le converti en .acdb et plus de soucis avec Access 2016!

Ma seule et dernière préoccupation, c'est comment faire via une macros (ou un moyen limitant les interactions avec l'utilisateur) pour restaurer la base après avoir extrait les informations dont j'ai besoin? Car comme elle contient toute la comptabilité, je ne jouerais pas modifier son format.

Je pense a 2 options:

1- La macros fait un copie de la base provisoire ou non ( a mon sens préférable)

2 - La macro retransforme la base en .mdb après en avoir extrait la substantifique moelle (un peu risqué non?)

Est ce possible?

Qu'en pensez vous?

Merci,

Pitou.

Ok Pitou,

Peux-tu faire ce test suivant : avec cette nouvelle version du fichier essaye d'ouvrir le .mdb non transformé.

J'ai changé juste le provider car avec certain mdb, il semble que la connexion doit être faite sans DSN

Si ça fonctionne, on pourra interagir directement sur le mdb en lecture/ecriture depuis excel

Pierre

225access2xls-v1-2.xlsm (31.78 Ko)

Ah oui! C'est bien mieux, je venais de réaliser que runtime2010 ne pouvait pas être exécuter en macros, une vraie déception!

En revanche il m'indique encore une erreur:

Erreur d'exécution '1004':

Historique est un nom réservé.

Merci infiniment.

Pitou.

Les gars de Quadra ont nommé une des tables "Historique", nom qu'on ne peut pas utiliser pour nommer un onglet dans Excel.

La parade est d'ajouter un _ à chaque nom d'onglet => version1.3 ci-après

Pierre

243access2xls-v1-3.xlsm (30.16 Ko)

Super,

Merci beaucoup,

Je vais a présent découvrir le langage VBA, essayé de comprendre la macro que vous avez écrit, déchiffrer les informations récupérer et voir ce dont j'ai besoin et comment adapter éventuellement cette macro.

Avez vous des conseils me donner pour cet apprentissage?

Encore merci,

Pitou.

Ok,

Ce sujet n'est peut être pas le plus facile pour commencer, mais bon, quand on est motivé!

Pour approfondir, j'ai écris quelques article sur la question sur mon blog => http://tatiak.canalblog.com/ rubrique "Excel-Base de Données" et rubrique "Applications"

Il y a des codes commentés, divers fichiers démo, des explications, et des appli complètes à télécharger illustrant les interactions entre Excel et les bases de données (MySql, Access, Dbf, ...)

Bonne lecture

Pierre

Super, je vais aller y jeter un oeil!

Encore merci Pierre.

Bonjour,

Je suis désolé de rouvrir ce sujet, mais je ne comprends pas pourquoi, j'ai une erreur d'exécution sur la macros que vous m'avez si gentiment fourni. J'ai téléchargé le fichier d'origine, il ne fonctionne plus sur les 2 postes sur lesquels je les avais utilisé.

Je n'ai pas changé de version d'Excel, mes librairies sont toujours les mêmes, et plus étonnant une version adapté de celle ci fonctionne sur un poste mais lorsque je copie cette version sur le mien, même erreur...

Le blocage a lieu sur la partie Lister_tables au moment du Cnx.Open PRVD & NDF

Erreur d'exécution '3706':

Impossible de trouver le fournisseur. Il est peut être mal installé.

Est ce que vous sauriez à quoi c'est dû et comment je peux résoudre ça?

Merci,

Rechercher des sujets similaires à "macro ouvrir mdb acces"