Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/08/2011, 14h35   #1
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Par défaut Exporter seulement certains champs d'une requête vers Excel

Bonjour,

J'ai de nouveau besoin de l'aide du forum...
Je souhaite, par un bouton sur un formulaire, exporter le résultat d'une requête vers Excel.
J'ai don le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub BEditCompany_Click()
 
On Error GoTo Err_BEditCompany_Click
 
MyDate = Date
FormatDate = Format(MyDate, "yyyy-mm-dd")
 
    DoCmd.OutputTo acOutputQuery, "R_COMPANY_FOLLOWUP_SEARCH", acFormatXLS, "Follow-up information - " & FormatDate & ".xls", True
 
Exit_BEditCompany_Click:
    Exit Sub
 
Err_BEditCompany_Click:
    MsgBox Err.Description
    Resume Exit_BEditCompany_Click
 
End Sub
Mon problème est que je souhaite exporter seulement certains champs de la requête, mais pas tous.
Comment dois-je m'y prendre ?

D'avance merci !

MelaAllIn
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h05   #2
Membre régulier
 
Guillaume
Inscription : décembre 2007
Messages : 161
Détails du profil
Informations personnelles :
Nom : Guillaume
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations forums :
Inscription : décembre 2007
Messages : 161
Points : 91
Points : 91
Bonjour !
Comment désignes-tu les champs que tu souhaites exporter ? Ce sont toujours les mêmes ?

Selon l'utilisation, est-ce que c'est vraiment utile ? Il est simple de supprimer une colonne dans le fichier Excel.
dut-dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h17   #3
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Merci pour ta réponse, dut-dut !
Oui, effectivement, ce sera toujours les mêmes champs qui seront exportés (Country, CompanyCity, CompanyName, etc.)
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2011, 15h33   #4
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
C'est bon, j'ai trouvé !
Il suffisait juste, dans la requête, de décocher la case "Afficher" !
Des fois, je cherche la complication...
En tout cas, merci pour le coup de main !
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 09h22   #5
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Bonjour à tous,

Finalement, je relance ce fil, car ma solution ne s'adapte pas à mon cas : lorsque je décoche la case "Afficher" dans ma requête, je perds des données dans mes formulaires et sous-formulaires associés...

J'aurais donc besoin d'un coup de main pour savoir comment faire pour exporter uniquement certains champs (toujours les mêmes) d'une requête ACCESS vers EXCEL, sachant que le code associé au bouton d'export est le suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub BEditCompany_Click()
 
On Error GoTo Err_BEditCompany_Click
 
MyDate = Date
FormatDate = Format(MyDate, "yyyy-mm-dd")
 
    DoCmd.OutputTo acOutputQuery, "R_COMPANY_FOLLOWUP_SEARCH", acFormatXLS, "Follow-up information - " & FormatDate & ".xls", True
 
Exit_BEditCompany_Click:
    Exit Sub
 
Err_BEditCompany_Click:
    MsgBox Err.Description
    Resume Exit_BEditCompany_Click
 
End Sub
En vous remerciant part avance pour votre aide.

MelaAllIn
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 09h35   #6
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 617
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 617
Points : 30 959
Points : 30 959
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Créer une autre requête basée sur la première avec uniquement les champs souhaités, comme cela tu ne touches pas à la requête originale.

Et c'est cette deuxième requête que tu exportes.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 09h36   #7
Invité régulier
 
Inscription : avril 2003
Messages : 12
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 12
Points : 5
Points : 5
Bonjour,

Pourquoi ne pas faire simplement deux requêtes :
- La requête qui sert de base aux données du formulaire.
- La requête pour l'exportation.

Ces deux fonctions étant différentes, ça ne me choque pas d'avoir deux requêtes pour cela.
olivier03 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/08/2011, 11h17   #8
Membre régulier
 
Guillaume
Inscription : décembre 2007
Messages : 161
Détails du profil
Informations personnelles :
Nom : Guillaume
Localisation : France, Pyrénées Atlantiques (Aquitaine)

Informations forums :
Inscription : décembre 2007
Messages : 161
Points : 91
Points : 91
Pour illustrer les propos des deux derniers posts :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub BEditCompany_Click()
On Error GoTo Err_BEditCompany_Click
 
dim sourceSQL as String
MyDate = Date
FormatDate = Format(MyDate, "yyyy-mm-dd")
 
 
    'on stocke dans sourceSQL le code SQL de la requête à exporter
    sourceSQL = "SELECT Country, CompanyCity, CompanyName, etc... "	'liste des champs (puisque c'est toujours les mêmes)
    sourceSQL = sourceSQL & Mid(CurrentDb.QueryDefs("R_COMPANY_FOLLOWUP_SEARCH").SQl, InStr(1, CurrentDb.QueryDefs("R_COMPANY_FOLLOWUP_SEARCH").SQl, "FROM"))	'clause FROM et tout ce qu'il peut y avoir derrière (facultatif : si les critères ne changent jamais, autant tout mettre dans la ligne précédente)
 
    Delete_Query "export"					'on efface la requête d'export si elle existe déjà (utilise la fonction juste en dessous)
    CurrentDb.CreateQueryDef "export", sourceSQL     		'création d'une requête pour l'export de données
    Application.SetHiddenAttribute acQuery, "export", True	'on lui attribue la propriété "masqué" pour ceux que ça contrarie de voir une ligne supplémentaire dans leur liste de requêtes
 
    DoCmd.OutputTo acOutputQuery, "export", acFormatXLS, "Follow-up information - " & FormatDate & ".xls", True	'export de la requête
 
Exit_BEditCompany_Click:
    Exit Sub
 
Err_BEditCompany_Click:
    MsgBox Err.Description
    Resume Exit_BEditCompany_Click
 
End Sub
 
Public Function Delete_Query(Qname As String)
    On Error Resume Next
    CurrentDb.QueryDefs.Delete Qname
End Function
dut-dut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 09h26   #9
Membre à l'essai
 
Femme Mélanie
Inscription : janvier 2007
Messages : 80
Détails du profil
Informations personnelles :
Nom : Femme Mélanie
Localisation : France

Informations forums :
Inscription : janvier 2007
Messages : 80
Points : 24
Points : 24
Merci à vous 3 pour vos réponses.
Je vais étudier tout cela et je reviens vers vous.
A bientôt.
MelaAllIn
MelaAllIn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h21.


 
 
 
 
Partenaires

Hébergement Web