Bonjour,
Les deux instructions font la même chose en fait.
Seul petit oubli de ta part ce sont les guillemets avant et après l'instruction et le Opendatabase
Donc pour ce que tu as fait, il te faut :
Set Db = "P:\comptabilite\Rapport exception\BD.mdb"
Au lieu de
Set Db = P:\comptabilite\Rapport exception\BD.mdb
Pour ce qui est de la comparaison entre ta solution et l'autre. D'un coté on définit une variable qui permet de donner le chemin où se trouve ton fichier sur le disque dur
repertoire = ThisWorkbook.Path & "\"
Dans ton cas cela correspond à :
P:\comptabilite\Rapport exception\
En gros ton code devrait être ceci :
Dim bd As database
Set Db = opendatabase("P:\comptabilite\Rapport exception\BD.mdb")
ou
Dim bd As database
repertoire = ThisWorkbook.Path & "\"
Set Db = OpenDatabase(repertoire & "BD.mdb")
L'avantage du Thisworkbook est que si tu déplaces ton fichier sur ton disque, ton code ira toujours ouvrir la database et ce, pour autant qu'elle soit dans le même répertoire que ton fichier bien sûr.
Amicalement
Dan