finesse20
Messages postés13Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 août 2006
-
8 août 2006 à 10:58
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 2011
-
8 août 2006 à 14:19
Bonjour,
Je trvaille cous office 2000
Je souhaite transférer le résultat d'une requête access sous excel
Pour cela j'ai le code suivant :
Public Sub Export()
Dim pathStr As String
pathStr = CurrentProject.path
DoCmd.TransferSpreadsheet acExport, , "R2", pathStr & "\SIRH.xls", False, "" << C'est ici que ça plante
End Sub
lorsque j'exécute le message suivant s'affiche : "Le moteur de base de données Microsoft Jet n'a pas pu trouver l'objet R2. Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'accès"
Est ce quelqu'un connaît la réponse à ce problème ?
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 8 août 2006 à 11:42
A te lire, je susppose que "R2" c'est le nom de ta table.
Je m'étais fait un formulaire ACCESS, qui fonctionne ^^, qui faisait un export d'une table dans Excel, voici mon code :
'Récupération du chemin du fichier Excel
Chemin = Application.CurrentProject.Path & "\Toto.xls"
'Récupération de la CR à exporter
CR = cbo_CR.Value
'Export
DoCmd.TransferSpreadsheet acExport, , CR, Chemin, False
Ma variable CR contient en fait le nom d'une requête crée avec l'assitant de requêtage d'ACCESS.
Les 2 variables CHemin et CR sont de type String.
La seule différence que je vois entre nos 2 commandes, c'est que je n'ai pas la double cote après la dernière virgule (si tu ne désignes pas d'endroit dans le fichier Excel, tu ne mets rien au lieu de "").
Ca pourrait suffire dans le sens où l'export va te créer un nouvel onglet dans le fichier Excel, qui aura pour nom le nom de la table/requête (donc "R2"). Mais j'en doute.
L'autre point que je vois est : Tu as bien une table ou une requête ayant pour nom R2 rassure moi ?
Dernier point, mais idem, je ne pense pas que ça plante là (moi ça me sert plus tard dans mon appli, puisqu'après l'export, j'appelle Excel) : Dans les références du projet, tu as coché Microsoft Excel 11.0 Object Library ?
finesse20
Messages postés13Date d'inscriptionmercredi 25 mai 2005StatutMembreDernière intervention10 août 2006 8 août 2006 à 14:06
Salut Molenn,
Merci de t'intéresser à mon cas.
J'ai bien coché la Lib référençant excel et c'est le résultat d'une requête que je souhaite exporter.
Je viens d'enlever les " " mais cela ne change rien.
Je viens d'eesayer ton code mais je ne comprends pas à quoi correspond "cbo_CR"?
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 8 août 2006 à 14:19
Normal ^^ ... Mon cbo_CR, c'est le nom d'une ComboBox de mon formulaire ^^
Faut pas en tenir compte.
En fait, j'ai un formulaire avec entre autre cette ComboBox qui contient le nom de toutes mes requêtes :
Ex : cbo_CR contient CR1, CR2, CR3.
Avec l'assistant de requêtage ACCESS, j'ai crée des requêtes dont le nom est CR1, CR2, CR3.
Et quand j'appuye sur le bouton Export dans Excel, ça va coller dans le fichier Excel désigné par Chemin, la requête sélectionnée.
Si je convertis ton bout de code avec ma syntaxe, ça donnerait :
Public Sub Export()
Dim Chemin As String
Dim Table as string
Chemin = Application.CurrentProject.path & "\SIRH.xls"
Table = "R2"
DoCmd.TransferSpreadsheet acExport, , Table, Chemin, False
End Sub
Voilà.
Molenn
P.S. : SIRH ... Ca me rappelle quelque chose ... Je crois bien qu'on m'en a causé ce matin au boulot ^^ Les joies des abréviations