MS/ACCESS, VBA : écrire dans un classeur Excel

Le résultat d’une requête SQL est aisément transférable d’ACCESS vers un classeur Excel à l’aide de la commande VBA TransferSpreadsheet.

Exemple :

La syntaxe de cette commande est la suivante : DoCmd.TransferSpreadsheet(TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA).

Paramètres :

Nom Requis / Facultatif Type de données DescriptionDescription
TransferType Facultatif AcDataTransferType Type de transfert à effectuer (acImport (=0) ou acExport (=1), acLink (=2)). La valeur par défaut (si non renseigné) est acImport. acLink : la base de données est liée à la source de données spécifiée.
SpreadsheetType Facultatif AcSpreadSheetType Type de feuille de calcul à partir de laquelle importer, vers laquelle exporter ou avec laquelle lier. Cf. détail plus bas
TableName Facultatif Variant Expression chaîne qui est le nom de la table Office Access que vous souhaitez importer des données, exporter des données de feuille de calcul à partir de, ou lier des données, ou la requête sélection dans Access dont vous souhaitez exporter vers une feuille de calcul de résultats.
FileName Facultatif Variant Une expression chaîne qui est le nom de fichier et le chemin d’accès de la feuille de calcul que vous souhaitez importer, exporter ou lier à.
HasFieldNames Facultatif Variant Utilisez True (1) pour utiliser la première ligne de la feuille de calcul comme noms de champ lors de l’importation ou la liaison.Utilisez False (0) pour traiter la première ligne de la feuille de calcul comme des données normales.Si vous laissez cet argument vide, la valeur par défaut (False) est choisie.Lorsque vous exportez une table Access ou les données de la requête sélection vers une feuille de calcul, les noms de champ sont insérés dans la première ligne de la feuille de calcul, quel que soit ce que vous entrez pour cet argument.
Range Facultatif Variant Expression de chaîne correspondant à une plage correcte de cellules ou au nom d’une plage dans la feuille de calcul. Cet argument s’applique uniquement à l’importation. Laissez cet argument vide pour importer la feuille de calcul entière. Lorsque vous exportez vers une feuille de calcul, vous devez laisser cet argument vide. Si vous entrez une plage, l’exportation échoue.

Le paramètre UseOA (facultatif) n’est pas documenté.

Valeurs de l’argument AcSpreadSheetType :

Nom Valeur Description
acSpreadsheetTypeExcel3 0 Format Microsoft Excel 3.0
acSpreadsheetTypeExcel4 6 Format Microsoft Excel 4.0
acSpreadsheetTypeExcel5 5 Format Microsoft Excel 5.0
acSpreadsheetTypeExcel7 5 Format Microsoft Excel 95
acSpreadsheetTypeExcel8 8 Format Microsoft Excel 97
acSpreadsheetTypeExcel9 8 Format Microsoft Excel 2000
acSpreadsheetTypeExcel12 9 Format Microsoft Excel 2010
acSpreadsheetTypeExcel12Xml 10 Format XML Microsoft Excel 2010/2013/2016 (.xlsx, .xlsm, .xlsb)

Approfondir le sujet : Maîtriser ACCESSMaîtriser le langage VBAMaîtriser le langage de requête SQL / Analyse de données

Share Button
The following two tabs change content below.
Benoît RIVIERE
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.