Bonjour!
Je souhaite importer une feuille Excel de mon choix sous Access, en la mettant sous forme de table. Je choisis d'abord une feuille Excel dans une liste déroulante (noms mis manuellement dans la liste) Cette importation se fait par un clic sur un bouton:
- ouverture d'une boite de dialogue
- recherche manuelle du fichier xls
- puis importation auto de la feuille (choisie auparavant dans la liste déroulante)
Seulement, par exemple, lorsque je choisis "Societes2006" dans la liste déroulante et que j'actionne le bouton, j'ai le message suivant,après sélection du fichier dans la boite de dialogue:
"Erreur d'exécution '3011':
Le moteur de base de données Microsoft Jet n'a pas pu trouver l'objet 'Societes2006'. Assurez-vous que l'objet existe et que vous avez correctement saisi son nom est son chemin d'accès."
Pour l'importation, j'utilise:
nt => désigne le nom de la table de sortie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile, vbNullChar) - 1)) DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, nt, LaunchCD, True, nf
nf => désigne le nom de la feuille à importer
LaunchCD => désigne le nom du fichier
Le code précédent est contenu dans une fonction, appelée LaunchCD (...) . "nt" et "nf" sont déclarés en string, par un byref.
Le tout est retourné dans la procédure du bouton:
NomTable (déclaré en string) => fait référence à nt
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me!Résultat = LaunchCD(Me, NomTable, NomFeuille)
NomFeuille (déclaré en string) => fait référence à nf
Merci de m'aider...j'en ai vraiment besoin. c'est dans le cadre de mon stage.
Si vous voulez, je peux vous envoyer mon code entier, ça vous aidera mieux.
Partager