Formation VBA - EXERCICE DE REVISION

12a. Exercice récapitulatif

Fichier Excel (pour une utilisation personnelle uniquement) : Formation Excel-Pratique - fichier 12a.xls

Résumé de l'exercice :

Pour ajouter cette nouvelle fonctionnalité, il faudra créer un nouvel UserForm qui sera lancé depuis l'UserForm actuel et qui permettra d'entrer des notes à afficher chaque année à la même date.

Jusque-là, on ne pouvait entrer des notes que pour une date bien précise mais, avec cette nouvelle fonctionnalité, il sera possible d'entrer des notes uniques et des notes à afficher chaque année à la même date (par exemple pour les anniversaires).

Objectifs de l'exercice :

  1. Création de l'UserForm :
    • Ajoutez un nouvel UserForm, nommez-le "UserForm_repeter" et modifiez la propriété zoom (112%)
    • Ajoutez pour les notes : un label descriptif + une zone de texte (nommez la zone de texte comme sur le premier userForm)
    • Ajoutez les 3 mêmes boutons : Enregistrer, Supprimer, Annuler (nommez-les également comme sur le premier userForm)
    • Ajoutez l'événement utile au bouton Annuler
    • Ajoutez un contrôle sur le premier UserForm (ainsi qu'un événement) pour lancer le second UserForm au clic sur ce contrôle
  2. Enregistrement de données :
    • Ajoutez une nouvelle base de données (feuille à nommer "BD_REP") et entrez les titres des colonnes de cette nouvelle base de données (où seront enregistrées les notes répétitives, autrement dit, les notes à afficher chaque année à la même date)
    • Enregistrez les données du nouvel UserForm dans cette base de données, à la suite, si la zone de texte n'est pas vide
    • Si le jour ne contient pas d'autres données que les notes répétitives (donc pas d'initiales ni de couleur de fond), colorez la cellule active du calendrier en violet pour signaler à l'utilisateur que ce jour contient tout de même des notes
  3. Affichage des données :
    • Dans la macro "generer_calendrier", enregistrez la nouvelle base de données dans un tableau (si la base de données contient des données)
    • S'il n'existe pas de données pour le jour dans la première base de données, vérifiez s'il existe des notes répétitives (en utilisant le tableau) et si c'est le cas, colorez la cellule du jour en violet pour signaler à l'utilisateur que ce jour contient des notes répétitives
  4. Remplissage de l'UserForm et modification des données :
    • Trouvez une solution pour informer l'utilisateur de la présence ou non de notes répétitives sur le premier UserForm (pour lui éviter d'avoir à ouvrir à chaque fois le deuxième pour vérifier)
    • Complétez l'UserForm s'il existe des données dans la nouvelle base de données
    • Trouvez une solution pour permettre la modification des données
  5. Suppression des données :
    • Affichez le bouton Supprimer s'il existe des données
    • Ajoutez l'événement pour supprimer les données du jour
  6. Notes du jour :
    • Cas 1 : si la zone de texte contient déjà des notes, ajoutez les notes répétitives à la suite des notes en laissant une ligne vide comme séparation
    • Cas 2 : si la zone de texte ne contient pas de notes, ajoutez les notes répétitives ainsi qu'une couleur de fond violette

Cet exercice à lui tout seul est une petite application de gestion. Il vous demandera beaucoup plus de concentration et de temps que les précédents exercices, vous devrez également gérer toutes sortes d'imprévus et de bugs ... N'abandonnez surtout pas en cours de route, il y a une solution pour chaque problème et vous êtes capable de réaliser cet exercice !

Réalisez cet exercice avant de passer à la solution

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

12b. Ajout de la fonctionnalité "Notes répétitives" (partie 1/2)

 

12c. Ajout de la fonctionnalité "Notes répétitives" (partie 2/2)