export vers excel

Le
Jean Marc
Bonsoir,
J'ai un formulaire en mode feuille de données et j'arrive à exporter vers excel
les données qu'il contient après un tri.
Je voudrais faire la même chose une fois que ce formulaire devient un
sous-formulaire, iclu dans un form principal.
Je ne trouve pas la bonne syntaxe avec docmd.OutputTo.

Pourriez-vous me donner une piste ou me dire si peut-être je cherche à faire
quelque chose d'imossible ?

Merci bien et bonne soirée.

Jean Marc
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #6288891
Bonsoir.

tu devrais pouvoir faire:
DoCmd.OutputTo acOutputForm, Forms!formprincipal!sous_formulaire.Name,
..............


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Commandez gratuitement en ligne votre DVD des Webcasts TechNet et MSDN !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidŒ280628-759f-4d49-b731-c874dc037153


"Jean Marc" 466c5b5c$0$5081$
| Bonsoir,
| J'ai un formulaire en mode feuille de données et j'arrive à exporter vers
excel
| les données qu'il contient après un tri.
| Je voudrais faire la même chose une fois que ce formulaire devient un
| sous-formulaire, iclu dans un form principal.
| Je ne trouve pas la bonne syntaxe avec docmd.OutputTo.
|
| Pourriez-vous me donner une piste ou me dire si peut-être je cherche à
faire
| quelque chose d'imossible ?
|
| Merci bien et bonne soirée.
|
| Jean Marc
|
|
PO2B
Le #6288731
Bonjour,

Ce post m'intéresse, j'en profite pour poser mon propre problème.

J'essaie actuellement de transférer les données d'un sous formulaire vers
Excel mais de la manière suivante :

Dans mon formulaire principal, je selectionne 3 champs (listes). Cette
selection me ramène les enregistrements du sous formulaire.

Je voudrais pouvoir envoyer dans un même fichier Excel, les enregistrements
remontés de la requête répétée à plusieurs reprises.

Ex : J'ai choisi 1.un équipement, 2 .le modèle, 3.le type de contrat --> Je
récupère dans mon sous formulaire les tarifs des divers éléments.
Mais je dois répéter plusieurs fois la même demande lorsqu'il y a plusieurs
equipements et les ajouter à une même liste (Fichier Excel)
La Finalité étant de réaliser un Devis.

Comment puis-je procéder au mieux. J'ai utilisé dans une macro le
"CopierVers " mais ça ne fonctionne que pour la 1ère requête....

Merci pour votre aide.

PO


"Raymond [mvp]" de news:
Bonsoir.

tu devrais pouvoir faire:
DoCmd.OutputTo acOutputForm, Forms!formprincipal!sous_formulaire.Name,
..............


--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Commandez gratuitement en ligne votre DVD des Webcasts TechNet et MSDN !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidŒ280628-759f-4d49-b731-c874dc037153


"Jean Marc" 466c5b5c$0$5081$
| Bonsoir,
| J'ai un formulaire en mode feuille de données et j'arrive à exporter
vers
excel
| les données qu'il contient après un tri.
| Je voudrais faire la même chose une fois que ce formulaire devient un
| sous-formulaire, iclu dans un form principal.
| Je ne trouve pas la bonne syntaxe avec docmd.OutputTo.
|
| Pourriez-vous me donner une piste ou me dire si peut-être je cherche à
faire
| quelque chose d'imossible ?
|
| Merci bien et bonne soirée.
|
| Jean Marc
|
|




Stéphane Miqueu
Le #6288721
PO2B a présenté l'énoncé suivant :
Bonjour,

Ce post m'intéresse, j'en profite pour poser mon propre problème.

J'essaie actuellement de transférer les données d'un sous formulaire vers
Excel mais de la manière suivante :

Dans mon formulaire principal, je selectionne 3 champs (listes). Cette
selection me ramène les enregistrements du sous formulaire.

Je voudrais pouvoir envoyer dans un même fichier Excel, les enregistrements
remontés de la requête répétée à plusieurs reprises.

Ex : J'ai choisi 1.un équipement, 2 .le modèle, 3.le type de contrat --> Je
récupère dans mon sous formulaire les tarifs des divers éléments.
Mais je dois répéter plusieurs fois la même demande lorsqu'il y a plusieurs
equipements et les ajouter à une même liste (Fichier Excel)
La Finalité étant de réaliser un Devis.

Comment puis-je procéder au mieux. J'ai utilisé dans une macro le
"CopierVers " mais ça ne fonctionne que pour la 1ère requête....

Merci pour votre aide.

PO

Bonjour,

En le faisant 'à la main', : déclarer un objet excel, créer un nouveau
document, mettre un bouton de transfert dans ta form qui remplira le
fichier excel. Ainsi tu mémorises la dernière ligne remplie et tu peux
faire ce que tu veux.

--
Ami Calmant
Stéphane

Raymond [mvp]
Le #6288711
Bonjour.

Dans ce cas il faut utiliser la commande DoCmd.TransferSpreadsheet en
indiquant une destination dans l'option Range et dans tableName, indiquer le
nom de la requête.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Commandez gratuitement en ligne votre DVD des Webcasts TechNet et MSDN !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidŒ280628-759f-4d49-b731-c874dc037153


"PO2B" f4j4hh$i7n$
| Bonjour,
|
| Ce post m'intéresse, j'en profite pour poser mon propre problème.
|
| J'essaie actuellement de transférer les données d'un sous formulaire vers
| Excel mais de la manière suivante :
|
| Dans mon formulaire principal, je selectionne 3 champs (listes). Cette
| selection me ramène les enregistrements du sous formulaire.
|
| Je voudrais pouvoir envoyer dans un même fichier Excel, les
enregistrements
| remontés de la requête répétée à plusieurs reprises.
|
| Ex : J'ai choisi 1.un équipement, 2 .le modèle, 3.le type de contrat -->
Je
| récupère dans mon sous formulaire les tarifs des divers éléments.
| Mais je dois répéter plusieurs fois la même demande lorsqu'il y a
plusieurs
| equipements et les ajouter à une même liste (Fichier Excel)
| La Finalité étant de réaliser un Devis.
|
| Comment puis-je procéder au mieux. J'ai utilisé dans une macro le
| "CopierVers " mais ça ne fonctionne que pour la 1ère requête....
|
| Merci pour votre aide.
|
| PO
PO2B
Le #6288691
Merci Stéphane,

Peux-tu me donner un peu plus d'explications car je ne vois pas comment
procéder pour arriver à ce résultat ?

Pour la création du fichier excel, OK mais pour le transfert ? Quel type de
code puis-je utiliser ?

Merci


"Stéphane Miqueu"
PO2B a présenté l'énoncé suivant :
Bonjour,

Ce post m'intéresse, j'en profite pour poser mon propre problème.

J'essaie actuellement de transférer les données d'un sous formulaire vers
Excel mais de la manière suivante :

Dans mon formulaire principal, je selectionne 3 champs (listes). Cette
selection me ramène les enregistrements du sous formulaire.

Je voudrais pouvoir envoyer dans un même fichier Excel, les
enregistrements remontés de la requête répétée à plusieurs reprises.

Ex : J'ai choisi 1.un équipement, 2 .le modèle, 3.le type de contrat -->
Je récupère dans mon sous formulaire les tarifs des divers éléments.
Mais je dois répéter plusieurs fois la même demande lorsqu'il y a
plusieurs equipements et les ajouter à une même liste (Fichier Excel)
La Finalité étant de réaliser un Devis.

Comment puis-je procéder au mieux. J'ai utilisé dans une macro le
"CopierVers " mais ça ne fonctionne que pour la 1ère requête....

Merci pour votre aide.

PO

Bonjour,

En le faisant 'à la main', : déclarer un objet excel, créer un nouveau
document, mettre un bouton de transfert dans ta form qui remplira le
fichier excel. Ainsi tu mémorises la dernière ligne remplie et tu peux
faire ce que tu veux.

--
Ami Calmant
Stéphane





Stéphane Miqueu
Le #6288681
Merci Stéphane,

Peux-tu me donner un peu plus d'explications car je ne vois pas comment
procéder pour arriver à ce résultat ?

Pour la création du fichier excel, OK mais pour le transfert ? Quel type de
code puis-je utiliser ?

Merci



Un bout de code qui fonctionne, tu l'adapte à tes besoins ...

Dim xlApp As Excel.Application
Dim xlWkb As Excel.Workbook
Dim iX As Integer, iY As Integer

On Error Resume Next
DoCmd.Hourglass True
Set xlApp = CreateObject("Excel.application")
Set xlWkb = xlApp.Workbooks.Add
If Err.Number <> 0 Then xlWkb = xlApp.Workbooks.Add
xlWkb.RunAutoMacros xlAutoOpen
xlApp.Visible = True
xlApp.Sheets(1).Select
xlApp.Sheets(1).Name = "Trace"

[...]
iX=1
iY=1
xlApp.Cells(iX, iY) = "Mon texte ..."
[...]

DoCmd.Hourglass False

xlApp.Visible = True

Set xlWkb = Nothing
Set xlApp = Nothing
Exit Sub

ErrorHandle:
DoCmd.Hourglass False
MsgBox "Erreur " & vbLf & Err.Description
Resume Next

End Sub

--
Ami Calmant
Stéphane

Jean Marc
Le #6288521
"Raymond [mvp]" news:
Bonsoir.

tu devrais pouvoir faire:
DoCmd.OutputTo acOutputForm, Forms!formprincipal!sous_formulaire.Name,


Bonsoir,
Merci pour cette syntaxe qui fonctionne déjà sans insulte.
Mais elle me donne la totalité des enregistrements de la table. Si j'applique
une requête avec une clause where pour éditer un nombre n d'enregistrements, la
commande ci-dessus me sort quand même la totalité dans excel et non n
enregistrements.
Je bute sur ce problème.

Merci encore pour votre aide.

Jean Marc

Raymond [mvp]
Le #6288471
En effet, le OutputTo ne tient pas compte su le formulaire ets un formulaire
principal ou un sous-formulaire en prenant la globalité du recordset. il y a
une possibilité simple en créant une requête bis qui ne sera utilsiée que
pour l'export.
pour l'exemple,
si la source du sous-formulaire est la Requêrte3 dont le contenu est:
SELECT Table1.* FROM Table1;
il faut créer une Requête3Bis dont le contenu sera:
SELECT Table1.* FROM Table1
WHERE Table1.Numero = [Formulaires]![Formulaire1]![Numero];

et la commande OutputTo sera de ce type:
DoCmd.OutputTo acOutputQuery, "Requête3bis", acFormatXLS, "classeur1.xls",
True

(Numero est le nom du champ servant de lien père/fils).
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/

Commandez gratuitement en ligne votre DVD des Webcasts TechNet et MSDN !
http://www.comscamp.com/Tracker/Redirect.ashx?linkidŒ280628-759f-4d49-b731-c874dc037153


"Jean Marc" 466d7005$0$27391$
|
| Bonsoir,
| Merci pour cette syntaxe qui fonctionne déjà sans insulte.
| Mais elle me donne la totalité des enregistrements de la table. Si
j'applique
| une requête avec une clause where pour éditer un nombre n
d'enregistrements, la
| commande ci-dessus me sort quand même la totalité dans excel et non n
| enregistrements.
| Je bute sur ce problème.
|
| Merci encore pour votre aide.
|
| Jean Marc
|
|
Jean Marc
Le #6288451
"Raymond [mvp]" news: %23Svt$
En effet, le OutputTo ne tient pas compte su le formulaire ets un formulaire
principal ou un sous-formulaire en prenant la globalité du recordset. il y a
une possibilité simple en créant une requête bis qui ne sera utilsiée que
pour l'export.


J"avais essayé cette solution aussi, mais en fait elle s'avère délicate puisque
il m'arrive de sélectionner des enregistrements avec la souris, clic droit et
"filtrer par sélection".
Le plus étonnant est que si j'ouvre mon formulaire seul, en feuille de données,
l'export marche impécable avec ma sélection.
C'est uniquement en tant que sous-formulaire que ça récalcitre.
Je m'en sors donc pour l'instant de manière pas très élégante en ouvrant le
formulaire en pleine fenêtre puis en appliquant le filtre. L'export est alors
OK.
Disons que ça fait 2 clics au lieu d'un.

Je vais donc continuer mes réflexions.

Merci bien en tout cas.

Jean Marc

PO2B
Le #6288411
Merci pour votre aide. Je teste ces solutions.

PO


"PO2B" f4j6p2$jge$
Merci Stéphane,

Peux-tu me donner un peu plus d'explications car je ne vois pas comment
procéder pour arriver à ce résultat ?

Pour la création du fichier excel, OK mais pour le transfert ? Quel type
de code puis-je utiliser ?

Merci


"Stéphane Miqueu" news:
PO2B a présenté l'énoncé suivant :
Bonjour,

Ce post m'intéresse, j'en profite pour poser mon propre problème.

J'essaie actuellement de transférer les données d'un sous formulaire
vers Excel mais de la manière suivante :

Dans mon formulaire principal, je selectionne 3 champs (listes). Cette
selection me ramène les enregistrements du sous formulaire.

Je voudrais pouvoir envoyer dans un même fichier Excel, les
enregistrements remontés de la requête répétée à plusieurs reprises.

Ex : J'ai choisi 1.un équipement, 2 .le modèle, 3.le type de contrat -->
Je récupère dans mon sous formulaire les tarifs des divers éléments.
Mais je dois répéter plusieurs fois la même demande lorsqu'il y a
plusieurs equipements et les ajouter à une même liste (Fichier Excel)
La Finalité étant de réaliser un Devis.

Comment puis-je procéder au mieux. J'ai utilisé dans une macro le
"CopierVers " mais ça ne fonctionne que pour la 1ère requête....

Merci pour votre aide.

PO

Bonjour,

En le faisant 'à la main', : déclarer un objet excel, créer un nouveau
document, mettre un bouton de transfert dans ta form qui remplira le
fichier excel. Ainsi tu mémorises la dernière ligne remplie et tu peux
faire ce que tu veux.

--
Ami Calmant
Stéphane









Publicité
Poster une réponse
Anonyme