Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Marquer les absences sur un planning
Dans ce nouveau volet
VBA Excel, nous proposons d'améliorer quelque peu le cas précédent. Il est question de marquer en couleur les absences des salariés, en fonction de causes énumérées dans une colonne annexe certes, mais cette fois, à l'aide d'une liste déroulante propagée sur tout le planning.
Sur l'exemple illustré par la capture, à chaque fois que l'utilisateur choisit une cause d'absence à l'aide d'une liste déroulante, dans la case d'une date, pour un salarié précis, la cellule concernée se pare de la couleur représentative pour simplifier la lecture du tableau des absences.
Classeur Excel à télécharger
Pour faire évoluer cette solution, nous suggérons d'appuyer l'étude sur les travaux aboutis à l'occasion du volet précédent.
- Télécharger le classeur marquer-absences-planning.xlsm en cliquant sur ce lien,
- Cliquer droit sur le fichier réceptionné,
- En bas du menu contextuel, choisir la commande Propriétés,
- En bas de la boîte de dialogue, cocher la case Débloquer puis valider par Ok,
- Dès lors, double cliquer sur le fichier pour l'ouvrir dans Excel,
Nous trouvons bien le planning au centre de la feuille et la colonne des raisons des absences sur la droite. A ce stade, si vous saisissez et validez l'une d'entre elles dans une cellule du calendrier, la case concernée récupère automatiquement la couleur du motif invoqué. Pour l'instant en revanche, aucune liste déroulante ne se suggère. Elles sont pourtant précieuses pour simplifier et harmoniser l'implémentation de ce planning. Ce nouveau volet est un simple prétexte pour les mettre en place sur la base des travaux précédents. Le code VBA existe déjà puisqu'il se déclenche à la saisie. Donc, il se déclenchera à la modification de valeur par un choix dans une liste déroulante. Vous pouvez le constater en réalisant le
raccourci clavier ALT + F11 pour accéder à l'
éditeur VBA Excel.
Créer les listes des absences
Le
code VBA est capable de toutes les prouesses. Lorsqu'il est déclenché par un choix dans une
liste déroulante, il apporte confort et ergonomie, d'autant qu'une liste est restrictive, écartant les motifs non prévus par défaut, dans la plage à désigner.
- Sélectionner toutes les cases du planning, soit la plage de cellules C4:J25,
- En haut de la fenêtre Excel, cliquer sur l'onglet Données pour activer son ruban,
- Dans la section Outils de données du ruban, cliquer sur le bouton Validation des données,
- Dans la boîte de dialogue, déployer la zone Autoriser,
- Dans les propositions, choisir l'option Liste,
- Dès lors, cliquer dans la zone Source du dessous pour l'activer,
- Sur la feuille, sélectionner les cellules des motifs d'absence, soit la plage L4:L13,
Comme vous le constatez, la syntaxe est automatiquement transformée dans la zone de réception de la boîte de dialogue (=raisons).
Raisons est en effet le nom que nous avions attribué à cette plage de cellules. Nous y intégrons les cellules vides pour prévoir large et autoriser la création de nouveaux motifs. Ces cellules vides permettront aussi de supprimer facilement des causes d'absence qui ne sont plus d'actualité dans le planning.
- Valider la création de ces multiples listes en cliquant sur le bouton Ok de la boîte de dialogue,
Désormais, si vous cliquez sur n'importe quelle case du planning, une liste déroulante se propose. Si vous choisissez un motif d'absence, il est directement appliqué en lieu et place avec son jeu de couleurs, issu de la plage nommée raisons.
Pour inscrire une cause d'absence sur plusieurs cellules à la fois, la procédure est la suivante :
- Sélectionner par exemple la plage de cellules G9:G11,
- Déployer la liste déroulante associée à la première cellule de la sélection,
- Dans les propositions, choisir par exemple le motif Perso,
Comme vous pouvez le voir, il s'applique seulement à la première des trois cellules.
- Enfoncer alors la touche F2 du clavier,
Cette action active la saisie et donc la modification de la cellule en cours.
- Puis, valider par le raccourci clavier CTRL + Entrée,
Cette astuce permet de répandre la valeur portée par la première cellule sur toutes celles qui sont sélectionnées.
Enfin, si vous créez un nouveau motif d'absence dans la plage nommée raisons, avec une couleur de fond et une couleur de police personnalisée, vous constatez que les listes déroulantes du planning le proposent aussitôt. Et si vous le choisissez, il s'inscrit avec son jeu de couleurs, grâce au code VBA que nous avons conçu à l'occasion du volet précédent.