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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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.
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.