formateur informatique

Exportations sélectives avec Excel

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Exportations sélectives avec Excel
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Importations et exportations sélectives avec Excel

De nombreuses entreprises sont amenées à dépouiller des données denses, issues de serveurs et consolidant de nombreuses informations. Pour des besoins statistiques et stratégiques, il est souvent nécessaire de simplifier et d'isoler les informations afin de mieux les décortiquer et les exploiter. Dans cette formation, nous proposons de travailler sur deux sources externes. La problématique consiste à pouvoir isoler seulement les données pertinentes pour des besoins professionnels. Ainsi, elles pourront être livrées et exportées pour de exploitations optimisées.

Base de données Excel à nettoyer et filtrer pour importations sélectives dans Access

Source et présentation de la problématique
Pour réaliser des exportations sélectives, encore faut-il disposer de données à manipuler. C'est pourquoi nous proposons de les réceptionner dans un premier temps. Ce classeur est constitué de deux feuilles nommées respectivement products et communes. Le tableau de la feuille products est le résultat d'une extraction de base de données MySql. Des articles en vente sont détaillés sur plusieurs champs.

Extraction MySql sur Excel, quantités à filtrer avant exportation Access

Nous souhaitons récupérer ces données pour les manipuler dans une base de données Access. Cependant, elles doivent être nettoyées en amont. Tous les articles dont la quantité en stock est nulle sont considérés comme obsolètes, et ils sont nombreux.
  • En bas de la fenêtre Excel, cliquer sur l'onglet Communes pour activer sa feuille,
Tableau des communes importés dans Excel à filtrer avant exportation Access

Ce tableau recense toutes les communes de France avec les codes postaux notamment. Pour les besoins d'une application professionnelle, ces communes doivent être importées dans une base de données Access. Mais l'entreprise intéressée agit sur la région PACA. Donc, seules les communes des départements 04, 05, 06, 13, 83 et 84 doivent être importées. De plus, les informations sur le code INSEE et les coordonnées GPS ne sont pas désirées.

Extraire les données sur critères
Afin de préparer les informations à importer, nous devons créer des tableaux purgés des données non souhaitées. Deux solutions s'offrent à nous. La première consiste à exploiter les fonctions Excel de bases de données. La seconde consiste à utiliser les filtres avancés. Et c'est cette seconde technique que nous choisissons de mettre en oeuvre dans ce cas pratique.

Cette fonctionnalité consiste à appliquer une zone de critères sur le tableau à filtrer pour produire une extraction sélective des données vers un autre emplacement.
  • En bas de la fenêtre Excel, cliquer sur l'onglet products pour activer sa feuille,
La zone d'extraction doit débuter par les noms des champs souhaités pour produire le tableau retravaillé. Il est possible de restreindre le niveau de détail en excluant des colonnes dans l'énumération.

Cette zone d'extraction est déjà prévue sur cette feuille. Elle débute en ligne 8 à partir de la colonne I. Et comme vous le remarquez, tous les champs sont énumérés. Nous souhaitons donc récupérer toutes les informations de cette base de données pour lesquelles les quantités en stock ne sont pas nulles. Dans le même temps, nous souhaitons exclure les enregistrements proposant des stocks farfelus. C'est le cas en ligne 138 par exemple avec la quantité 999947. Nous suggérons donc d'extraire les produits pour lesquels la quantité est comprise en 0 et 100 par exemple. Cela signifie que nous devons recouper deux critères. Et comme nous l'avions appris, lorsque des conditions sont à croiser, elles doivent être placées sur la même ligne dans la zone de critères.

Cette zone de critères est prévue en cellule I1.
  • Sélectionner la cellule I1 et la copier (CTRL + C),
  • Sélectionner la cellule J1 sur sa droite et la coller (CTRL + V),
Les filtres avancés analysent les conditions posées sur des champs. C'est pourquoi nous répliquons précisément leur nom.
  • En cellule I2, saisir le critère suivant : >0,
  • En cellule J2, taper la condition suivante : <=100,
Conditions croisées dans zone de critères Excel pour extraction précise des données

Certes la mise en forme n'est pas homogène. On note des défauts d'alignement. Peu importe, ces cellules servent d'intermédiaire pour produire les résultats.

Les conditions sont posées sur la même ligne de la zone de critères et pour le même champ. Nous demandons explicitement d'extraire les enregistrements pour lesquels la quantité en stock est à la fois strictement supérieure à zéro et inférieure ou égale à Cent.
  • Cliquer n'importe où dans le tableau à nettoyer, par exemple en cellule B3,
En activant une cellule située à l'intérieur du tableau, les filtres avancées détecteront automatiquement les bornes de ce dernier.
  • En haut de la fenêtre Excel, cliquer sur l'onglet Données pour activer son ruban,
  • Dans la section Trier et filtrer du ruban, cliquer sur le bouton Avancé,
  • Dans la boîte de dialogue qui apparaît, cocher la case Copier vers un autre emplacement,
Comme vous le remarquez, Excel a bien défini les bornes du tableau à analyser. Il s'agit de la plage de cellules $A$1:$G$849 mentionnée dans la zone Plages. Cette base de données est donc constituée de 849 lignes, soit de 848 enregistrements en excluant la ligne de titre.
  • Dans la zone de critères, sélectionner à la souris la plage de cellules I1:J2,
Nous indiquons ainsi à Excel quelles sont les conditions à recouper et sur quels champs les appliquer.
  • Dans la zone Copier dans, sélectionner à la souris la plage de cellules I8:O8,
Excel attribue automatiquement un nom à cette plage du fait de manipulations antérieures qui ont eu lieu sur ce classeur. Quoiqu'il en soit, la plage de cellules pour le début de l'extraction est bien désignée.
  • Cliquer sur le bouton Ok pour procéder à l'extraction,
Extraction sélective des articles de la base de données sur des quantités en stock non nulles

Les enregistrements sont effectivement extraits dans le tableau prévu à cet effet, tout en conservant la ligne d'entête pour les noms des champs. Et comme vous le remarquez, toutes les lignes avec un stock nul ont été exclues. En parcourant le tableau, nous remarquons de même que plus aucune quantité supérieure à 100 ne subsiste. L'extraction est donc un succès. Et pour preuve, le dernier enregistrement est inscrit sur la ligne 250, sachant que le tableau débute à partir de la ligne 8. Il reste donc environ 240 enregistrements sur les 848 de départ.

C'est sur cette base extraite et purgée que nous allons pouvoir réaliser l'exportation sélective. Et pour parfaitement maîtriser les données à importer en base de données Access, nous allons attribuer un nom à ce tableau. La formation Access pour importer des données précises avait démontré l'intérêt de cette manipulation intermédiaire.
  • Sélectionner la toute première cellule du tableau d'extraction, soit la cellule I8,
  • Tout en maintenant la touche MAJ enfoncée, cliquer sur la toute dernière valeur extraite, soit la cellule O250,
Cette technique, démontrée dans le support des trucs et astuces pour Excel, permet d'inclure toutes les cellules situées entre la première et la dernière.
  • Dans la zone Nom, en haut à gauche de la feuille Excel, saisir le nom Produits,
  • Puis, valider par la touche Entrée du clavier,
Donner un nom à une extraction de tableau Excel pour faciliter importation Access

Il est impératif de valider ce nom par la touche Entrée. Le cas échéant, il n'est pas pris en compte.

Le tableau est désormais reconnu par un identifiant le délimitant explicitement des autres données présentes sur la même feuille.

Conditions non exclusives
Comme nous le disions, sur le tableau de la seconde feuille, nous souhaitons isoler les enregistrements de la région PACA. Et seule l'information sur 2 des champs doit être conservée. Ces critères doivent être regroupés et non recoupés. En effet et par exemple, un département ne peut pas être à la fois le 13 et le 83. Il est soit l'un, soit l'autre. Dans la construction des critères, nous ne devons pas exprimer l'opération ET, mais l'opération OU. Dans ce contexte, les conditions ne se placent pas les unes à côté des autres. Elles doivent être positionnées les unes en dessous des autres.
  • En bas de la fenêtre Excel, cliquer sur l'onglet communes pour activer sa feuille,
La zone d'extraction est prévue à partir de la ligne 10, entre les colonnes G et H. Comme nous l'évoquions, elle est restrictive sur le détail de l'information à extraire. Seuls les champs pour la commune et le code postal sont prévus. La zone de critères est située sur la ligne 1, entre les colonnes G et H. Elle prévoit de placer des conditions sur la même ligne, malgré nos explications. La raison est simple. Elle consiste à faciliter l'énumération des conditions. Les codes postaux sont des données numériques. Et certains se suivent comme le 04, le 05 et le 06 ou encore comme le 83 et le 84. Plutôt que de les énumérer, nous pouvons exprimer des plages de valeurs. Par exemple, tous les codes postaux supérieurs ou égaux à 4000 et strictement inférieurs à 7000 font bien partie de la région PACA.

Conditions extraction Excel sur des plages de valeurs comprises entre les bornes définies
  • En G2, taper le critère : >=4000,
  • En H2, recouper ce critère avec la condition : <7000,
  • En G3, taper le critère : >=13000,
  • En H3, recouper ce critère avec la condition : <14000,
  • En G4, taper le critère : >=83000,
  • En H4, recouper ce critère avec la condition : <85000,
Les conditions que nous avons posées se lisent de la façon suivante : Nous souhaitons extraire tous les enregistrements dont les codes postaux sont soit compris entre 4000 et 7000 exclu, soit compris entre 13000 et 14000 exclu, soit compris entre 83000 et 85000 exclu. Bref, il s'agit bien des départements de la région PACA.
  • Cliquer dans l'une des cellules du tableau pour le désigner, par exemple C3,
  • Dans le ruban Données, cliquer sur le bouton Avancé,
  • Dans la boîte de dialogue qui surgit, cocher la case Copier vers un autre emplacement,
Comme précédemment, les bornes du tableau ont été détectées automatiquement. C'est ce qu'indique la zone Plages. Et à ce titre, nous remarquons que la base de données est très volumineuse. Elle s'étend jusqu'à la ligne 39200. En excluant la ligne de titre, nous comptons donc 39199 enregistrements qu'il faut nettoyer.
  • Dans la Zone de critères, sélectionner la plage de cellules G1:H4,
  • Dans la zone Copier dans, sélectionner la plage de cellules G10:H10,
Filtres avancés Excel pour extraire et nettoyer les données selon les conditions de la zone de critères

Comme précédemment, nous avons indiqué les conditions à recouper sur le tableau à filtrer, ainsi que la zone à partir de laquelle doit se produire l'extraction des données.
  • Cliquer sur le bouton Ok pour procéder à l'extraction des données,
Seuls les codes postaux et les villes sont effectivement extraits. Cette extraction restrictive, permise par les filtres avancés, est donc particulièrement intéressante. De plus, en faisant défiler le tableau, vous remarquez que seules les villes de la région PACA sont conservées. Ce travail en amont est donc précieux pour permettre de simplifier les importations sélectives et précises qui vont suivre.

L'extraction s'étend jusqu'à la ligne 1166. Nou avons donc considérablement réduit le volume des données. Là encore, ce résultat est intéressant pour améliorer les performances d'une base de données, afin de ne pas avoir à traiter des informations inutiles.
  • Sélectionner la première cellule de ce tableau de résultat, soit la cellule G10,
  • Tout en maintenant la touche MAJ enfoncée, sélectionner la dernière, soit la cellule H1166,
  • Dans la zone Nom, en haut à gauche de la feuille Excel, saisir Communes,
  • Puis, valider nécessairement par la touche Entrée su clavier,
Nommer un tableau Excel filtré pour faciliter exportation dans Access

Nos extractions sélectives sont désormais produites. Nos tableaux résultants sont bornés et explicitement reconnus par des plages nommées.
  • Enregistrer le classeur Excel (CTRL + S),
Cette action est nécessaire pour qu'Access ait connaissance des extractions délimitées par les plages de cellules fraîchement nommées.

Importations sélectives
Il est temps de constater l'intérêt de ces manipulations de données. L'objectif, tel que nous l'avions annoncé, consiste à pouvoir importer des données nettoyées et purgées dans une base de données Access.
  • Démarrer Access et créer une base de données vide,
  • Fermer la table proposée par défaut en cliquant sur la croix de son onglet,
  • En haut de la fenêtre Access, cliquer sur l'onglet Données externes pour activer son ruban,
  • Tout à fait à gauche du ruban, cliquer sur le bouton Nouvelle source de données,
  • Dans la liste, pointer sur la rubrique : A partir d'un fichier,
  • Dans le sous menu qui suit, cliquer sur Excel,
  • Dans la boîte de dialogue qui apparaît, cliquer sur le bouton Parcourir,
  • Après avoir sélectionné le dossier de téléchargement, cliquer sur le classeur donnees-a-filtrer-dev.xlsx,
Un assistant se déclenche. Il est destiné à identifier les données à importer et à retravailler leur type à la volée.
  • Cliquer alors sur le bouton Ok de la boîte de dialogue,
Dans l'étape qui suit, vous constatez que les deux feuilles products et communes sont identifiées. La partie inférieure de la boîte de dialogue propose un aperçu des données interprétées. Si vous les faites défiler vers la droite, vous constatez que tous les tableaux sont mélangés. Dans ce contexte, aucune importation propre n'est possible.
  • Cocher la case Afficher les plages nommées,
La communication entre les logiciels de la gamme Office est d'une grande qualité. Les plages nommées sont reconnues et proposées.
  • Dans la liste, sélectionner la plage Produits, telle que nous l'avions nommée,
L'aperçu livré est désormais borné au résultat de l'extraction produit par les filtres avancés d'Excel.
  • Cliquer sur le bouton Suivant pour progresser dans la phase d'importation,
Access identifie la première ligne de cette plage comme celle des titres de colonnes, soit des champs pour construire la table de réception. Il a vu juste. C'est pourquoi la case est cochée et la première ligne est grisée.
  • Cliquer de nouveau sur le bouton Suivant,
Dans cette nouvelle étape, Access propose d'ajuster le type de données des champs identifiés. Ce travail permet de réceptionner une table parfaitement calibrée pour la construction d'une base de données. Nous devrions nous y attarder. Mais nous avons déjà démontré le mécanisme dans d'autres formations. Nous souhaitons ici déboucher sur le résultat de l'importation sélective.
  • Cliquer de nouveau sur le bouton Suivant,
Cette nouvelle étape est particulièrement importante. Toute table de base de données doit proposer une clé primaire. C'est elle qui permet d'identifier chaque enregistrement comme unique. Mais elle permet surtout d'établir les relations entre les tables d'une base de données.
  • Cocher la case Choisir ma propre clé primaire,
  • Puis, sélectionner le champ products_id par son étiquette,
Importation sélective des données Excel dans Access avec choix de la clé primaire

Il est temps de terminer l'importation des données purgées depuis Excel.
  • Cliquer sur le bouton Suivant puis sur le bouton Terminer,
Ainsi nous acceptons le nom attribué à la table de réception. Il est calqué sur le nom de la plage de cellules que nous avons créée depuis Excel.
  • Valider la boîte de dialogue en cliquant sur le bouton Fermer,
Comme vous le constatez, la table Produits apparaît dans le volet des objets Access sur la gauche de l'écran.
  • Double cliquer sur la table Produits pour l'afficher en mode feuille de données,
Comme vous pouvez le voir, les informations sont parfaitement importées dans leur champ. Aucun stock nul n'est à déplorer. La petite barre de navigation indique que cette table recense 242 enregistrements sur les 848 de départ. Notre importation sélective est donc un succès.

Nous proposons de poursuivre afin de restituer les informations sur les communes de la région PACA.
  • Fermer la table Produits en cliquant sur la croix de son onglet,
  • Dans le ruban Données externes, cliquer sur le bouton Nouvelle source de données,
  • Pointer sur la rubrique A partir d'un fichier et cliquer sur la proposition Excel,
  • Dans la boîte de dialogue qui suit, cliquer sur le bouton Parcourir,
  • Double cliquer de nouveau sur le classeur Excel donnees-a-filtrer-dev.xlsx,
  • Puis, cliquer sur le bouton Ok pour dérouler les étapes de l'assistant importation,
  • Dans la fenêtre qui suit, cocher la case Afficher les plages nommées,
  • Dans la liste, sélectionner la plage Communes,
  • Puis, cliquer sur le bouton Suivant,
Un message d'alerte Access apparaît. Il informe l'utilisateur que les noms de champs proposés ne lui conviennent pas. Qu'à cela ne tienne, une fois les données correctement importées, nous pourrons les paramétrer à notre guise en mode création de table.
  • Dans l'étape qui suit, conserver la case cochée pour les entêtes,
  • Cliquer de nouveau sur le bouton Suivant,
Cette nouvelle étape, comme précédemment, propose de typer les champs importés. Pour les mêmes raisons, nous choisissons de l'ignorer.
  • Cliquer sur le bouton Suivant,
Comme vous le savez, l'étape qui suit consiste à définir la clé primaire. Elle ne peut pas être posée sur le nom des villes. Il y a en effet des redondances. Pour la même raison, nous ne pouvons pas exploiter la colonne des codes postaux.
  • Conserver cochée la case Laisser Access ajouter une clé primaire,
  • Puis, cliquer sur le bouton Suivant et sur le bouton Terminer,
Ainsi, pour le nom de la table de réception, nous conservons le nom que nous avions attribué au tableau d'extraction.
  • Valider la dernière boîte de dialogue en cliquant sur le bouton Fermer,
  • Puis, afficher la table Communes en mode feuille de données,
Importation sélective dans Access des données Excel nettoyées par les filtres avancés

Comme l'indique la barre de navigation en bas de la table, seuls 1156 enregistrements sur les 39199 de départ résultent. Une fois de plus, notre importation sélective a parfaitement fonctionné pour manipuler au mieux les données utiles.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn