Erreur d'exécution '3011', Transfert access->excel

Signaler
Messages postés
13
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 août 2006
-
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
-
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 ?

Merci

3 réponses

Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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 ?

Autrement, et bien, je sèche

Molenn
Messages postés
13
Date d'inscription
mercredi 25 mai 2005
Statut
Membre
Dernière intervention
10 août 2006

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"?


 


 
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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