Tu as plusieurs solutions.
La premiere est d'utiliser ce qu'on te dit depuis le début...
Docmd.transfertSpreadsheet
Mais, pour l'utiliser, puisque tu es dans l'application Excel, tu ne peux l'utiliser ainsi... C'est pourquoi l'aide t'aurait été utile... par exemple, tu aurais vu que DoCmd est un Singleton dans l'application Access.
Sa syntaxe est donc
1 2
|
UneApplicationAccess.DoCmd.TransfertSpreadSheet |
Pour pouvoir l'utiliser, tu dois donc commencer à créer un objet Application Access, depuis ton programme Excel.
Tu pourrais donc commencer ton code par :
1 2 3 4 5 6 7 8
|
'Définir une application
Dim oAccApp as Object
Set oAccApp = CreateObject("Access.Application")
'Y ouvrir la base de données utile
oAccApp.OpenCurrentDatabase("Mettre le Path ici",False)
'Lancer le TransfertSpeadSheet
oAccApp.Docmd.TransfertSpreadSheet ......... |
Bien sûr, tu n'oublieras pas de Fermer la base, quitter l'application et réallouer l'espace mémoire en fin de programme, et ce malgré les erreur possibles, avec une belle gestion d'erreurs.
Une autre solution, plus "propre", se serait de fair un Recordset sur ta base de données, et d'y envoyer tes données... à moins que tu aies plein de traitements à faire par la suite ...
Partager