formateur informatique

Liste des valeurs de colonnes au clic de la souris

Accueil  >  Bureautique  >  Excel  >  Excel VBA  >  Liste des valeurs de colonnes au clic de la souris
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 :


Liste des données au clic

Vous l'avez sans doute déjà constaté, au fur et à mesure que vous remplissez les données d'une colonne, Excel construit des listes de connaissances. Dans ces listes, il exclut tout ce qui existe déjà et consolide toutes les informations différentes. D'ailleurs, lorsque vous démarrez la saisie d'une nouvelle cellule, si les premières lettres correspondent aux mêmes premières lettres de précédentes inscriptions, Excel vous les suggère automatiquement pour que vous n'ayez plus qu'à valider l'une d'entre elles.

Liste de données déjà saisies au clic dans une colonne Excel

Nous souhaitons exploiter cette fonctionnalité par le code VBA pour améliorer encore l'ergonomie. C'est ce qu'illustre l'exemple finalisé présenté par la capture. Nous travaillons sur un tableau des résultats réalisés par les commerciaux d'une entreprise. Ils ne sont que quatre mais ils interviennent plusieurs fois chacun. Dès que l'utilisateur clique dans une cellule de la deuxième colonne de ce tableau, une liste se déploie automatiquement, juste en-dessous de la case. Elle offre la synthèse de tous les commerciaux inscrits dans cette colonne, sans doublons. C'est ainsi que l'utilisateur n'a plus qu'à cliquer sur l'un d'entre eux, pour procéder à son inscription ou encore à une modification.

Classeur Excel à télécharger
Pour développer cette nouvelle fonctionnalité, nous suggérons d'appuyer l'étude sur ce tableau des chiffres d'affaires. Nous retrouvons bien le tableau des résultats. Les commerciaux sont énumérés avec leurs chiffres, à des dates précises, en colonne C. Des couleurs leurs sont attribuées, par des règles de mise en forme conditionnelle, selon les critères émis par la grille située entre les colonnes F et G.
  • Cliquer sur une case de la colonne C, par exemple la cellule C8,
  • Puis, avec la touche Alt maintenue, taper sur la flèche dirigée vers le bas du pavé directionnel,
Comme vous pouvez le voir, Excel a effectivement synthétisé les données de cette colonne, sans doublons, puisque cette action a pour effet d'ouvrir une liste de tous les commerciaux qui y sont présents. Il n'y a plus qu'à choisir.

Suggestions intuitives de données de la part d-Excel au cours de la saisie

C'est précisément ce résultat que nous souhaitons reproduire par le code VBA, mais directement au clic dans n'importe quelle cellule de la colonne, pour plus de simplicité et de confort.

Code VBA au clic
Le code que nous allons construire doit se déclencher au changement de sélection (Clic). Il doit vérifier que la cellule appartient bien à la colonne C. Il doit enfin simuler l'action au clavier (ALT + Flèche bas), pour déployer automatiquement cette liste de connaissances.
  • Réaliser le raccourci clavier ALT + F11 pour basculer dans l'éditeur VBA Excel,
  • Dans l'explorateur de projet, double cliquer sur l'élément Feuil1(nbCoulMfc),
Ainsi, nous affichons la feuille de code VBA associée à la feuille Excel. Elle apparaît au centre de l'écran et elle est vierge pour l'instant.
  • En haut de cette feuille de code, déployer la liste déroulante de gauche,
  • Dans les propositions, choisir l'objet Worksheet,
Code VBA Excel au clic utilisateur sur une nouvelle cellule de la feuille

Cette action a pour effet de créer la procédure événementielle Worksheet_SelectionChange. Son code se déclenchera dès que l'utilisateur cliquera dans une autre cellule.

Vérifier la cellule cliquée
Nous souhaitons déclencher ces listes ergonomiques aux clics certes, mais seulement dans la colonne C, celle des noms des commerciaux. Nous optimiserons ainsi les ressources. Nous devons donc d'abord vérifier que la cellule cliquée appartient bien à cette rangée. C'est l'objet Target, passé en paramètre de la procédure, qui représente cette cellule lorsque l'événement du clic survient. C'est la fonction Intersect qui permet de savoir si deux plages possèdent des cellules en commun. ...
If Not Intersect(Range("C2:C100"), Target) Is Nothing And Target.Count = 1 Then

End If
...


Nous passons deux plages à la fonction Intersect. La première concerne la colonne C des commerciaux. Nous prévoyons large si d'aventure de nouveaux commerciaux venaient à être ajoutés à la suite du tableau. La seconde concerne la cellule cliquée. Si cette intersection conduit bien à une cellule (Not ... Is Nothing), nous en déduisons que la case cliquée appartient bien à la rangée des commerciaux. Dans le même temps, grâce à la propriété Count de l'objet Target, nous nous assurons qu'il ne s'agit pas d'une multi sélection. Si ces deux conditions sont remplies, alors (Then) nous poursuivons le traitement.

Simuler l'action au clavier
Excel offre une fonction pour réaliser des actions du clavier par le code VBA. Elle se nomme SendKeys. C'est grâce à elle, au clic de l'utilisateur, que nous allons pouvoir simuler le raccourci ALT + Flèche bas.
  • Dans les bornes de l'instruction conditionnelle, ajouter la ligne VBA suivante :
...
SendKeys "%{down}"
...


Le symbole du pourcentage représente la touche Alt que nous associons avec la touche de la flèche dirigée vers le bas.

Déclencher les listes au clic
Vous en conviendrez, ce code est trivial. Nous pouvons d'ores et déjà le tester.
  • Revenir sur la feuille Excel (ALT + Tab),
  • Puis, réaliser quelques clics dans la colonne C,
Comme vous pouvez l'apprécier, les listes des données consolidées que nous appelions autrefois par raccourci clavier, surgissent désormais au simple clic, grâce au code VBA. L'utilisateur peut donc facilement désigner une personne sans devoir saisir son nom.

De plus, il est intéressant de constater que si vous ajoutez de nouveaux vendeurs en queue de colonne, aux clics suivants, ils sont automatiquement intégrés dans cette liste, décidément pratique. Remarque : La mise en forme conditionnelle peut être reproduite par le pinceau du ruban Accueil.

Listes de suggestions intuitives aux clics dans les cellules de la feuille Excel

 
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