Rechercher : dans
Par :

Export de requête Access 97 vers Excel

Dernière réponse le 24 jun 2009 à 10:58:29 Flo, le 7 jun 2004 à 20:56:21 
 Signaler ce message aux modérateurs

Bonjour tout le monde !

Je suis en stage, et je bosse sur une base de données sous Access 97. Je voudrais exporter, depuis un module, le résultat d'une requête vers Excel mais sans enregistrer de fichier xls avant !

En fait, j'aimerais que ça fasse le même résultat que :
DoCmd.OutputTo acOutputQuery, nomReq, acFormatXLS, , True
sans que ça s'enregistre sur le disque, ni qu'il y ait une demande d'enregistrement.

Est-ce que c'est possible ?

1

DaNot, le 9 jun 2004 à 11:07:39
  • +1

Bonjour,

Oui, c'est possible. Pour cela, tu dois créer une application Excel de type ActiveX avec la commande CreateObject. Tu disposes à ce moment là d'un pointeur sur une instance Excel que tu peux manipuler comme du VBA Excel.

Il te reste qu'à coller dans un nouveau classeur les données une à une (si il y une autre solution, je ne la connais pas ...) que tu veux retrouver sous Excel.

Aucun enregistrement n'est fait sur le disque. La demande d'enregistrement est faite lorsque tu fermes Excel !

J'ai quelques exemples dans ma besace...

DaNot
un Libre ouvert à la source...

Répondre à DaNot

2

Flo, le 9 jun 2004 à 19:07:09

Merci beaucoup !!

J'ai cherché un peu de doc la-dessus. J'ai essayé aujourd'hui, ça marche nickel !!

Répondre à Flo

3

waves, le 15 jun 2004 à 10:00:13
  • +7

Voici une fonction permettant d'exporter le résultat d'une requête ou le contenu d'une table, avec les titres des colonnes vers un fichier excel, et en choisissant le nom que portera ce fichier excel.
Lors du lancement de la fonction, une boite de dialogue permettra de saisir le nom choisi, (sans l'extension qui s'ajoutera automatiquement).




export ()


Dim Message as string
Dim Titre as string
Dim Nom as string



'Ouverture de la Macro MaMacro pour l'exportation vers Excel
DoCmd.RunMacro "MaMacro"


'Pour exporter une table, il faut remplacer la ligne précédentes par :
'Ouverture de la table MaTable pour l'exportation vers Excel

DoCmd.OpenTable "MaTable"


'Définit le message.
Message = "Entrez le nom du Fichier de Sortie"
' Définit le titre.

' Affiche le message, le titre et la valeur par défaut.
Titre = "Nom du fichier de sortie"
Nom = InputBox(Message, Titre)

'Exportation de la Table ou de la requête au format Excel 97, dans le répertoire D:\Personnel\

'avec pour nom : le nom saisi dans la boite de dialogue, suivi de la date du jour et de l'extension ".xls"


'Commande d'exportation de la table ou du résultat de la requête, (pour la requête, remplacer
'"MaMacro" par "MaTable"). Le chiffre 8 indique le format (Excel 97).
DoCmd.TransferSpreadsheet acExport, 8, "MaMacro", "D:\Personnel\" & Nom Format(Date, "DDMMYYYY") & ".xls", True



End sub

Répondre à waves

4

Flo, le 15 jun 2004 à 19:48:44

Merci !
C'est ce que j'avais fait au début, mais je voulais justement que le fichier ne s'enregistre pas du tout sur le disque.
Pour ça, la méthode de DaNot marche très bien.
Mais c'est super gentil d'avoir répondu !

Répondre à Flo

5

Japijo, le 19 mai 2008 à 21:01:31

Bonjour,

Et ben ta réponse, Wawe, moi je dis que c'est une réponse de pro.

La plupart du temps quand on lit les messages des gens qui savent ce qu'ils racontent, on ne comprend encore rien à la dixième lecture. Des fois la onzième arrange les choses mais bon. Là, ta réponse on la comprend du premier coup. Simple et efficace ! Chapeau gars !

Merci !

Répondre à Japijo

7

 Tristan, le 24 jun 2009 à 10:58:29

Punaise je deviens fou!!! waves ou as tu placé ce code et qu'as tu ajouté d'autre pour que tout fonctionne? je suis un peu perdu j'avoue... il doit y avoir une notion essentielle qui m'échappe, je ne comprends pas pourquoi mais quand je fais copier coller de ce code et que jkel'adapte à ma situation ca me met erreur 424 objet requis... quelqu'un pourrait m'aider s'il vous plait?

Mon adresse mail est tristanvernay@hotmail.fr si vous préférez

Répondre à Tristan

6

Tristan, le 24 jun 2009 à 10:36:15
  • +1

Punaise je deviens fou!!! il doit y avoir une notion essentielle qui m'échappe, je ne comprends pas pourquoi mais quand je fais copier coller de ce code et que jkel'adapte à ma situation ca me met erreur 424 objet requis... quelqu'un pourrait m'aider s'il vous plait?

Répondre à Tristan
Collection CommentÇaMarche.net