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

Lier des tables en VBA

1 réponse
Avatar
Francis SLAWNY
Bonjour
XP Pro SP3, Access 2003.

Je suis à la recherche d'une fonction lierTables(MonDossier)
où MonDossier est un dossier ne contenant que des classeurs Excel, chacun
des classeurs contenant une table.
L'effet de la fonction serait de lier toutes ces tables à la base en cours.

Merci d'avance.
FS

1 réponse

Avatar
Argyronet
Bonjour,

Le mieux et le plus enrichissant pour vous serait d'essayer de la construire
vous-même...
Il vous faut une référence à FileSystemObjet pour parcourir l'ensemble des
fichiers du dossier ou bien à l'aide un Do/Loop jusqu'à ce que le Dir() vous
renvoie une chaîne vide sur l'occurence *.xls.
Pour chaque fichier trouvé (le nom de la table est le nom de la feuille à
lier), vérifier l'existence de la table à l'aide d'un DoCmd SelectObject
précédé d'un On Error Resume Next et terminé par un On Error Goto 0. Si
l'objet Err est <>0 alors lancer un DoCmd DeleteObject de cette table...
Pour chacun de ces fichiers, user alors un DoCmd.TransferSpreadSheet acLink...

Ex:
¯¯
DoCmd.TransferSpreadsheet
acLink,acSpreadsheetTypeExcel9,"Feuil1","C:Documents and
SettingsArgyronetMy DocumentsMyXLSMyXlsFile.xls",True

--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)



"Francis SLAWNY" a écrit :

Bonjour
XP Pro SP3, Access 2003.

Je suis à la recherche d'une fonction lierTables(MonDossier)
où MonDossier est un dossier ne contenant que des classeurs Excel, chacun
des classeurs contenant une table.
L'effet de la fonction serait de lier toutes ces tables à la base en cours.

Merci d'avance.
FS