Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Exportation des données Access vers une feuille Excel
Dans la formation précédente,
Liaison entre un formulaire Access et une requête , nous avons entre autres vu comment importer les données d'un
tableau Excel dans
Access , tout en créant une nouvelle
table correctement formatée. Maintenant, nous souhaitons faire l'inverse, c'est-à -dire extraire les données d'une
table ou
requête Access pour les exporter dans un
tableau Excel . Et nous souhaitons que cette action soit automatisée par une
macro attachée à un bouton du
formulaire . Nous allons travailler depuis la
base de données du cas pratique précédent. Elle contient un
formulaire qui lorsque nous cliquons sur le bouton conduit vers le détail du client sélectionné, à l'aide d'une
requête filtrante. Nous allons améliorer la
macro du bouton de façon à ce qu'elle exporte les informations de la
requête dans une
feuille Excel , en même temps qu'elle affiche le détail du client. Puis nous commanderons l'ouverture de ce
classeur , et tout cela automatisé depuis
Access .
Télécharger la base de données formulaire-export.accdb en cliquant sur ce lien ,
Cliquer sur le bouton Activer le contenu de l'avertissement de sécurité,
Dans le volet de gauche, cliquer avec le bouton droit de la souris sur la macro lien_form_req ,
Dans le menu contextuel, choisir Mode création ,
Nous basculons ainsi dans l'
éditeur de macro de manière à ce que nous puissions améliorer cette dernière. Comme vous le remarquez, trois actions ont déjà été paramétrées. La liste déroulante placée sous la dernière de ces actions permet d'en ajouter une nouvelle.
Dans cette liste, choisir l'action ExporterAvecMiseEnForme ,
Nous devons maintenant définir ce que nous souhaitons exporter et sous quel format.
Dans la zone Type d'objet de l'action, choisir Requête ,
Dans la zone Nom d'objet , choisir la requête detail_clients ,
Dans la zone Format de sortie , sélectionner le format Classeur Excel correspondant à la version d'Excel installée sur votre ordinateur,
Comme vous le remarquez, nous pourrions choisir d'autres formats d'extraction. Ainsi, il est possible d'exporter au format PDF pour un partage en lecture ou encore au format HTML pour un partage sous forme de page Web.
Dans la zone Lancement automatique , choisir Oui ,
Au clic sur le bouton,
Access procèdera ainsi à l'
extraction au format Excel des données filtrées par la
requête en demandant de confirmer l'enregistrement du
classeur .
Dans la zone Qualité de copie , choisir Ecran ,
En effet nous ne souhaitons pas l'imprimer.
Enregistrer cette macro (CTRL + S ),
Puis la fermer en cliquant sur la croix de son onglet
Pour vérifier que tout se déroule tel que nous l'avons paramétré, nous allons maintenant exécuter le formulaire.
Double cliquer sur le formulaire Clients depuis le volet de gauche,
Naviguer jusqu'Ã un client de votre choix, par exemple MUDAT Albert, enregistrement 10,
Cliquer sur le bouton Afficher détails ,
Vous remarquez qu'au même moment ou la requête filtrante affiche les renseignements complémentaires du client, une boîte de
dialogue Copier vers apparaît.
Sélectionner le dossier de destination pour l'export Excel et cliquer sur Ok.
Excel démarre alors automatiquement. Souvenez-vous nous avions configuré l'action lancement automatique sur Oui. De plus les données filtrées s'affichent bien dans un
tableau Excel mis en forme comme l'indique le nom de la
macro que nous avons choisie. Les en-têtes de colonnes se distinguent en effet et les montants et dates restent formatés tels qu'ils ont été définis dans
Access . Cette
exportation vers Excel offre de multiples avantages. Tout d'abord les données ne sont pas définies à l'avance. Elles dépendent du filtre réalisé par la
requête . De plus, elle est automatisée par la
macro qui s'exécute sur besoin de l'utilisateur, c'est-à -dire lorsque ce dernier clique sur le bouton pour extraire les données qu'il consulte.