All posts tagged SQL

Faire du SQL sur une feuille Excel 2003

Nous allons étudier aujourd’hui une fonctionnalité avancée d’Excel : exécution de SQL sur un fichier Excel et import des résultats dans un autre fichier Excel.

Quel est l’intérêt ? Pour ceux qui connaissent bien le SQL, cela peut être utile (élimination de doublons avec un SELECT DISTINCT, comptages avec SELECT COUNT, sommes avec SELECT SUM…). Enfin, même si nous ne détaillerons pas le code ici, il peut être utile d’accéder via un programme VBA à des données stockées dans un fichier Excel, sans ouvrir ce fichier (via le gestionnaire de base de données ADO).

Prenons un fichier client exemple, auquel on a ajouté un solde fictif. Pour faire du SQL sur ce fichier, il faut au préalable définir la zone de données : sélectionner les colonnes contenant les données (ne pas sélectionner la plage de données uniquement, car si on ajoute une ligne, elle ne sera pas prise en compte dans le SQL…) et nommer la plage, « BDD » dans l’exemple ci-dessous (juste en dessous du nom de la police « arial »). Ou alors il faudra définir une zone de données dynamique avec la fonction DECALER, nous étudierons cette fonction ultérieurement dans le blog.

 

Nous pouvons maintenant enregistrer le fichier, et le fermer. Ouvrons un nouveau classeur Excel, et allons dans le menu « Données – Données Externes – Créer une requête »

Nous aurons le choix entre différentes technologies d’accès aux données :

Et nous choisirons « Fichiers Excel », et préciserons le chemin du fichier sur le disque ou sur le réseau. Maintenant, l’assistant requête nous demande de choisir les colonnes de la plage de données qu’il a trouvé dans le fichier. Nous retrouvons « BDD », sélectionnons toutes les colonnes.

Les écrans suivants nous permettent de faire des filtres et des tris. Nous n’en faisons pas dans cet exemple, et nous arrivons sur le choix final :

Nous pouvons renvoyer les données vers Excel, ce qui présente déjà un intérêt évident : toutes les modifications apportées au fichier source contenant la plage BDD seront automatiquement déversées dans notre nouveau classeur ! Mais dans cet exemple, nous allons personnaliser le SQL d’import des données et donc choisir « Afficher les données ou … Microsoft Query ». Et nous voici sous cet outil assez daté il faut bien le dire, les versions d’office se succèdent mais MS Query reste désespérément le même…

Nous pouvons désormais personnaliser le code SQL à l’aide du bouton SQL. Un exemple :

Et les données correspondantes s’affiche sous MS Query.

En cliquant sur le menu : « Fichier – Renvoyer les données vers Excel », nous pourrons obtenir les données dans le classeur.

Il ne nous reste plus qu’à enregistrer le classeur, et si nous l’ouvrons dans un mois, nous pourrons faire un clic-droit sur la plage des données retournées pour actualiser les données !

Cette méthode d’accès aux données est très pratique. On peut par exemple obtenir des tableaux croisés dynamiques de consolidation directement liés aux données sources, sans avoir à rouvrir chaque classeur de données source, etc.

Top
Page 1 of 1

Contactez-nous contact@expert-data.fr

EXPERT data, solutions pour TPE/PME et grands comptes