Bonjour,
J'ai des résultats de recherche dans 4 zones de listes différentes (avec des requetes SELECT dans la propriété Contenu).
je voudrais extraire ces résultats dans un même fichier excel mais dans 4 onglets différents.
Comment faire ?
merci
Bonjour,
J'ai des résultats de recherche dans 4 zones de listes différentes (avec des requetes SELECT dans la propriété Contenu).
je voudrais extraire ces résultats dans un même fichier excel mais dans 4 onglets différents.
Comment faire ?
merci
Salut,
Je te suggère la lecture du tutoriel de Cafeine sur l'export vers Excel. Notamment le point 4.
![]()
La fonction TransferSpreadsheet sert à exporter des tables entières. moi les résultats dans mes zones de texte sont des requêtes du type SELECT champs FROM table WHERE condition ORDER BY nom.
est-ce que c'est possible d'extraire directement les résultats de cette requête (qui n'a pas de nom mais est défini dans le contenu de la zone de liste) avec transferspreadsheet ?
oui, en passant par une table temporaire remplie avec la requete select par exemple![]()
Cycle de vie d'un bon programme :
1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise
Pas de question technique par MP, je ne réponds pas
Mes ouvrages :
Migrer les applications VBA Access et VBA Excel vers la Power Platform
Apprendre à programmer avec Access 2016, Access 2019 et 2021
Apprendre à programmer avec VBA Excel
Prise en main de Dynamics 365 Business Central
Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
Pensez à consulter la FAQ Excel et la FAQ Access
Derniers tutos
Excel et les paramètres régionaux
Les fichiers Excel binaires : xlsb,
Autres tutos
Ou par un recordset basé sur ta requete.
Voici un exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Set Appexcel = CreateObject("Excel.Application") Appexcel.Visible = True Set Wbexcel = Appexcel.Workbooks.Open("C:\Detailled Report.xls") Appexcel.Sheets("Global").Select 'creation du recordset à partir de la requete Dim rsReport As DAO.Recordset Set rsReport = CurrentDb.OpenRecordset("nomrequete") boucleReport = 1 'parcourt le recordset puis afficher les données du recordset dans les cellules du fichier excel While Not rsReport.EOF Appexcel.Cells(boucleReport + 7, 1) = rsReport(0) Appexcel.Cells(boucleReport + 7, 2) = rsReport(1) Appexcel.Cells(boucleReport + 7, 3) = rsReport(2) Appexcel.Cells(boucleReport + 7, 4) = rsReport(3) Appexcel.Cells(boucleReport + 7, 5) = rsReport(4) Appexcel.Cells(boucleReport + 7, 6) = rsReport(5) boucleReport = boucleReport + 1 rsReport.MoveNext Wend Set rsReport = Nothing
Je me suis trompé.. c'est pas le point 4 mais le 5.
Il te permettra de mettre en form ton fichier Excel.
Je suis à moitié d'accord.oui, en passant par une table temporaire remplie avec la requete select par exemple
Ceci fonctionne très bien :
En plus,
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, Me.MaZoneDeListe.RowSource, "MonfichierExcel.xls"
Si tu ajoutes à la suite :
L'exportation se fait dans le même fichier mais dans une feuille différente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, Me.MaZOneDeListe2.RowSource, "MonfichierExcel.xls"
![]()
jpcheck :
par exemple avec une requête Création de table ? CREATE TEMPORARY TABLE table (champ1,champ2)
Lou Pitchoun :
J'ai fait comme tu as dit mais j'ai un message d'erreur :
le nom de table n'est pas conforme au regle d'appelation d'objet quand j'écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel97, Me.ExpedMarchandise.RowSource, "MonfichierExcel.xls"
Partager