Créer un tableau de bord interactif avec Excel 2016

Ajouter et corriger la macro associée à la liste déroulante

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Dans cette vidéo, ajoutez et corrigez la macro associée à la liste déroulante.
05:57

Transcription

Donc maintenant que ceci est fait cette macro en fait à quoi est-ce qu'elle sert à la base ? Déjà si on fait un " Clic Droit " sur notre " Contrôle " puis on va dans " Format de contrôle ", dans " Plage d'entrée " on va pouvoir les chercher ici ce qu'il y a dans " Menus " et prendre " A2 " jusqu'à et puis là c'est à vous de choisir une marge mais prenez peut être pas les un million de ligne d'Excel. Par exemple, je sais qu'il y aura peut-être pas plus de 500 articles imaginons. Si je fais un " OK " et que je clique à l'extérieur, maintenant je vois bien ici que ma liste déroulante a effectivement ici certains choix à disposition. Ça ce n'est pas trop mal. C'est quelque chose de bien. Maintenant la chose étant c'est que il faudrait que cette liste déroulante se mette à jours à chaque fois que nos collègues y accèdent. Donc si on fait un " Clic Droit " il y a une option " Affecter une macro ". Et là pour le coup je peux prendre par exemple la macro " mcr_RefreshListArticles ". Donc on fait un " OK ". On clique à l'extérieur. Puis maintenant en fait quand les collègues cliquent là-dessus choisissent par exemple un article, la question c'est est-ce que la macro s'exécute finalement parce que c'est une liste déroulante, ce n'est pas une macro puis là on ne sait pas si ça marche ou ça ne marche pas. Et bien, si on retourne là où il y a notre liste puis je supprime par exemple tous ce qu'il y a ", Effacer le contenu " et qu'on retourne ici dans les " Graphs ". Si maintenant je clique sur la liste déroulante et je monte comme vous pouvez le voir elle est totalement vide. Et la macro effectivement en fait ne s'exécute absolument pas même si elle la propose. Ici on est obligé d'oublier cette méthode d'utilisation de cette macro pour ça. Donc en fait il faut qu'on approche le problème d'une autre manière. Il faut que lorsque nos collègues vont dans la feuille " Graphs " que la macro s'exécute. Pour le coup on va faire " Alt+F11 " pour aller dans l'éditeur Visual Basic. Et puis on va aller ici dans la feuille " Graphs " donc que je sélectionne. Déjà je vais la renommer correctement l'appelant " shtGraphs ". Et puis maintenant dans la feuille de code ici ce que l'on veut c'est faire qu'un évènement provoque l'exécution de cette macro. Et là évidemment ce que je cherche moi dans le cas présent dans le tableau de bord c'est sur la feuille " Graphs " de faire en sorte que il y a un évènement qui se lance donc on va prendre " Worksheet " et on va dire que lorsqu'on active la feuille que quelque chose se passe. Donc là si on regarde les évènements qu'on a à dispo on a " Activate " donc ça ça me va très bien. Et puis maintenant ici on a un " Module1 " et un " Module2 ". Le " Module1 " est vide donc on va le " Supprimer ". Et le " Module2 " y contient notre macro. On va la renommer. On va l'appeler " modMacros ". Et évidemment notre macro est ici, elle s'appelle " RefreshListArticles ". On retourne dans notre feuille " Graphs " et là on va lui dire " Call modMacros.RefreshListArticles ". On enregistre. Et maintenant ce qu'il faut savoir c'est que lorsque nos collègues vont sur la feuille " Graphs " ça doit normalement ici remplir la liste. Et comme vous pouvez le voir c'est le cas. Ça remplit la liste dans le cas présent. Si je retourne ici dans " Menus " et que je supprime ce qu'il y a là et le sélectionner et que je retourne ici dans " Graphs ", vous voyez que quelque chose se passe vite et en fait, ça re-remplit la liste. Le problème que vous avez remarqué c'est qu'à chaque fois je perds une donnée. Et en fait ça c'est un problème des contrôles c'est qu'en réalité, quand j'efface, à chaque fois le contrôle se décale. Et la manière d'éviter ça si on ne veut pas faire de macro c'est en réalité de sélectionner toute la colonne. Donc de valider par un " OK " comme ceci. Et puis là pour le coup ça veut dire quoi dans colonne ? On va faire en sorte qu'en réalité y a un article qui apparaisse dans la liste deroulante. Vous n'aurez pu anticiper avant, en faisant en sorte que " Sélectionner " soit dans la première ligne. Si maintenant on retourne dans " Graphs ", on peut voir qu'effectivement on a " Article " puis là on a " Sélectionner ". Donc maintenant comment est-ce qu'on peut corriger le tir ? Par exemple actuellement ici je vais supprimer la ligne où il y a " Article ". On va faire un " Alt+F8 ". On va ici donc modifier le code, c'est-à-dire on va aller dans " RefreshListArticles " qui est ici. Et puis comme je disais il faut ici qu'en réalité ce qui se passe c'est que notre macro efface la première ligne. Donc cette ligne que je viens d'effacer à l'instant. Donc on peut vite " Enregistrer une macro " qu'on va appeler " test " comme ceci. Cette macro va supprimer la première ligne qui est ici. Donc attention en réalité il faut éviter de supprimer la première ligne parce qu'il y aura d'autre colonne ici à droite. On va faire un " Clic Droit Supprimer " " Décaler les cellules vers le haut ". On arrête l'enregistrement de la macro, on va dans le " Visual Basic ". On voit ici qu'on a le code qui nous manque, et pour le coup maintenant on peut se positionner ici, coller ce morceau de macro. Et maintenant on peut re-tester le tout après avoir enregistré soigneusement. C'est-à-dire on supprime tout ce qu'il y a dans la colonne " A ". On va dans la feuille " Graphs ". Et puis maintenant on va regarder comment ça se passe. Donc on voit que c'est bon. On retourne dans " Menu "s. On retourne dans " Graphs ". A nouveau on voit que maintenant c'est bon donc on a gagné notre objectif. On est capable de faire effectivement une macro qui remplit une liste déroulante. Et en fait dans le prochain tutoriel, vous verrez que je vais préparer et faire une copie trois fois de la liste déroulante qui est ici.

Créer un tableau de bord interactif avec Excel 2016

Concevez des tableaux de bord pertinents, qu’ils soient dynamiques ou non, avec Excel. Utilisez pour cela les fonctions, les graphiques, les segments, les macros, etc.

2h42 (27 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :18 août 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !