Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Exportation vers un fichier xls

4 réponses
Avatar
sharmi
Bonjour,

Je souhaite effectuer une macro qui ex=E9cute une r=E9qu=EAte et=20
exporte le contenu de la requ=EAte vers un fichier xls .
Pour l'instant j'ai trouv=E9 la macro : Ouvrir une requ=EAte,=20
copier vers.
Or ma requ=EAte est param=E9tr=E9e, donc je lui donne mon=20
crit=E8re par exemple 'JOUR'. Par la suite, je vais extraire=20
cette requ=EAte vers le fichier xls portant le m=EAme=20
nom 'JOUR.xls'.
COmment est il possible de r=E9cup=E9rer la valeur par=20
exemple 'JOUR' de la requ=EAte param=E9tr=E9e pour l'ajouter=20
dans le chemin d'acc=E8s au fichier dans l'argument de la=20
macro Copier vers ?
N'h=E9sitez pas =E0 me demander plus d'infos si mes=20
explications ne sont pas assez claires.
Sharmi

4 réponses

Avatar
Hervé
Faut utiliser la fonction DoCmd.TransferText
Avatar
Anor
Bonjour,

Si la réponse un peu sèche et impolie qui t'a été donnée par un
gars de passage sur le forum de microsoft ne t'a pas aidé(e),
fais le savoir, on essayera de te proposer une solution
en passant par visual basic plutôt que macro ....

Mais es-tu toujours là ?

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------

sharmi a confié :
| Bonjour,
|
| Je souhaite effectuer une macro qui exécute une réquête et
| exporte le contenu de la requête vers un fichier xls .
| Pour l'instant j'ai trouvé la macro : Ouvrir une requête,
| copier vers.
| Or ma requête est paramétrée, donc je lui donne mon
| critère par exemple 'JOUR'. Par la suite, je vais extraire
| cette requête vers le fichier xls portant le même
| nom 'JOUR.xls'.
| COmment est il possible de récupérer la valeur par
| exemple 'JOUR' de la requête paramétrée pour l'ajouter
| dans le chemin d'accès au fichier dans l'argument de la
| macro Copier vers ?
| N'hésitez pas à me demander plus d'infos si mes
| explications ne sont pas assez claires.
| Sharmi
Avatar
sharmi
Salut,
J'ai eu ton message et j'avoue que je ne maitrise pas
parfaitement le vba.
Merci de ton concours.
Sharmi
-----Message d'origine-----
Bonjour,

Si la réponse un peu sèche et impolie qui t'a été donnée
par un

gars de passage sur le forum de microsoft ne t'a pas aidé
(e),

fais le savoir, on essayera de te proposer une solution
en passant par visual basic plutôt que macro ....

Mais es-tu toujours là ?

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------

sharmi a confié :
| Bonjour,
|
| Je souhaite effectuer une macro qui exécute une réquête
et

| exporte le contenu de la requête vers un fichier xls .
| Pour l'instant j'ai trouvé la macro : Ouvrir une
requête,

| copier vers.
| Or ma requête est paramétrée, donc je lui donne mon
| critère par exemple 'JOUR'. Par la suite, je vais
extraire

| cette requête vers le fichier xls portant le même
| nom 'JOUR.xls'.
| COmment est il possible de récupérer la valeur par
| exemple 'JOUR' de la requête paramétrée pour l'ajouter
| dans le chemin d'accès au fichier dans l'argument de la
| macro Copier vers ?
| N'hésitez pas à me demander plus d'infos si mes
| explications ne sont pas assez claires.
| Sharmi


.



Avatar
Anor
Bonjour sharmi

sharmi a confié :
| Salut,
| J'ai eu ton message et j'avoue que je ne maitrise pas
| parfaitement le vba.
| Merci de ton concours.
| Sharmi

Ok
Je suppose que tu vas avoir un formulaire ouvert lorsque tu voudras exporter
ta requête paramétrée vers un fichier excel.

Ma méthode serait la suivante :

Dans ta requête, tu mets le critère suivant :

[Forms]![LeFormulaireQuiVaAppelerLaRequete].[strParametre]

Puis dans Le Formulaire avec le nom ci-dessus, tu colles la ligne

Public strParametre As String
juste en dessous de :

Option Compare Database
Option Explicit

Ensuite, tu crées un bouton, tu lui donnes un petit nom (onglet "autre")
tu choisis dans l'onglet "événements" la propriété "sur clic"

Tu choisis [procédure événementielle]

Tu cliques sur les 3 petits points à droite.

Tu vas te retrouver entre 2 lignes du genre :

Private Sub BtnExportRequete_Click()
....
End Sub

Entre ces 2 lignes, tu mets :

strParametre = "a" ' ou strParametre = Me.UnChampDuFormulaire.value (par exemple)
ou strParametre = inputbox("veuillez blabla")

' pour vérifier que ça fonctionne, tu peux commencer par mettre la ligne suivante :
DoCmd.OpenQuery "LaRequeteParametree", acViewNormal

Si ça t'ouvre bien la requête avec la prise en compte du paramètre,
alors tu remplaces la ligne par

DoCmd.OutputTo acOutputQuery, "LaRequeteParametree", acFormatXLS, "F:Mes Documents" &
strParametre & ".xls"

Tu peux aussi faire ça :

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, "LaRequeteParametree", "F:Mes
Documents" & strParametre & ".xls", True

mais ça n'apporte pas grand chose de plus à part le "vrai" format excel.

Il y a une autre méthode de Pierre CFI ,
qui consiste à créer une petite fonction
Function LaFonction () as variant
LaFonction = "LaValeur"
end function

et de mettre
LaFonction()
dans le critère de ta requête ....
ça permet d'éviter d'avoir à déclarer une variable public dépendante du formulaire

Après, sur clic du bouton, c'est comme je t'ai suggéré plus haut.

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
Access Memorandum - http://memoaccess.free.fr
--------------------------------------------------