OVH Cloud OVH Cloud

exporter une table vers excel sur un onglet specifique

8 réponses
Avatar
Valérie
Bonjour à tous,
Comment puis je exporter ma table complete vers un classeur excel et surtout
sur un onglet determiné ? merci pour vos reponses.

8 réponses

Avatar
Raymond [mvp]
Bonjour.

Tu fais:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "table1",
"classeur1.xls", True, "MonOnglet"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Valérie" a écrit dans le message de news:
41ef7e30$0$8017$
Bonjour à tous,
Comment puis je exporter ma table complete vers un classeur excel et
surtout sur un onglet determiné ? merci pour vos reponses.



Avatar
Valérie
Cela ne fonctionne pas. L'export a créé un nouvel onglet avec le meme nom et
un numero.
Avatar
Raymond [mvp]
Sur version 2000 et 2003, il transfère bien sur le même onglet si celui-ci
existe.
sur quelle version es-tu ? je ne peux tester que sur 2000 et 2003.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Valérie" a écrit dans le message de news:
41ef9323$0$7118$
Cela ne fonctionne pas. L'export a créé un nouvel onglet avec le meme nom
et un numero.



Avatar
Valérie
Je suis en version 2003 et ma base est restée au format 2000
Avatar
Raymond [mvp]
c'est la même version; je pense que excel aussi ?

Tu peux m'envoyer ta base en zip par mail que je vérifie nos deux versions ?
enlève XYZ. (le point aussi) dans mon adresse.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Valérie" a écrit dans le message de news:
41efabd2$0$2173$
Je suis en version 2003 et ma base est restée au format 2000



Avatar
Raymond [mvp]
message envoyé par mail
RE.

Chez moi, quelles que soient les conditions, access n'ouvre qu'un seul
onglet nommé Base.
si je laisse test.xls ouvert par excel, access me répond que la table existe
déjà, ce qui veut bien dire qu'il veut travailler dessus (fais un test
aussi)

j'ai entré des données sur l'onglet base et j'ai fait plusieurs exports.
aucun n'a détruit les données, ce qui veut dire qu'access complète bien
l'onglet sans le détruire.

soit ma mémoire me trahit soit il existe une option pour dire de remplacer
ou non la plage.

Raymond

(je continue mes recherches en pointillé)

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Raymond [mvp]" a écrit dans le message de
news: erAiWWv$
c'est la même version; je pense que excel aussi ?

Tu peux m'envoyer ta base en zip par mail que je vérifie nos deux versions
? enlève XYZ. (le point aussi) dans mon adresse.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Valérie" a écrit dans le message de news:
41efabd2$0$2173$
Je suis en version 2003 et ma base est restée au format 2000







Avatar
Valérie
Il semblerait que cela fonctionne lorsque j'indique la plage de cellules
soit : DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
"tempsuiviachat", "C:.....test.xls", , "base!A1:P1". Mais j'ai alors un
nouveau probleme si je souhaite faire un nouvel export aussitot apres :
erreur d'execution 3011 : le moteur de bdd microsoft jet n'a pas pu trouver
l'objet ". Assurez vous que l'objet existe et que vous avez correctement
saisi son nom et son chemin d'acces. Cela peut venir de quoi ? Je precise
egalement qu'apres cet export je souhaite ouvrir le classeur pour que les
utilisateurs aient acces à un tableau croisé dynamique qui figure sur un
autre onglet et qui est donc alimenté grace à mon export. Merci encore !
Avatar
Raymond [mvp]
Pour l'export, il ne faut pas indiquer la plage mais seulement l'onglet
sinon ça plante sec.
je ne vois pas ce qui se passe chez toi.
as-tu des calculs faits sur cet onglet ?
si oui, panique.
si non,
supprime l'onglet par automation avant l'exportation.

Private Sub Commande0_Click()
Dim XL_App As New Excel.Application
With XL_App
.Workbooks.Open ("test.XLS")
.DisplayAlerts = False
.Worksheets("base").Delete
.ActiveWorkbook.Save
.DisplayAlerts = True
.Quit
End With
Set XL_App = Nothing
End Sub

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Valérie" a écrit dans le message de news:
41efc603$0$19433$
Il semblerait que cela fonctionne lorsque j'indique la plage de cellules
soit : DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9,
"tempsuiviachat", "C:.....test.xls", , "base!A1:P1". Mais j'ai alors un
nouveau probleme si je souhaite faire un nouvel export aussitot apres :
erreur d'execution 3011 : le moteur de bdd microsoft jet n'a pas pu
trouver l'objet ". Assurez vous que l'objet existe et que vous avez
correctement saisi son nom et son chemin d'acces. Cela peut venir de quoi
? Je precise egalement qu'apres cet export je souhaite ouvrir le classeur
pour que les utilisateurs aient acces à un tableau croisé dynamique qui
figure sur un autre onglet et qui est donc alimenté grace à mon export.
Merci encore !