Tâches planifiées dans Excel VBA - Macros Excel faciles

Table des matières

Ci-dessous, nous examinerons un programme en Excel VBA qui définit la couleur d'arrière-plan de tâches qui sont dans les temps au vert et définit la couleur d'arrière-plan des tâches en retard sur le rouge.

Situation:

Sur Sheet1, nous avons trois tâches (X, Y, Z). Un "1" indique qu'une tâche est terminée. Une tâche est dans les temps si un "1" existe dans chaque colonne jusqu'à et y compris la date d'aujourd'hui. Aujourd'hui, nous sommes le 6 juin. Les tâches X et Y sont dans les temps. La tâche Z est en retard (pas de "1" dans la cellule E8).

Créez un événement de modification de feuille de calcul. Le code ajouté à l'événement de changement de feuille de calcul sera exécuté par Excel VBA lorsque vous modifiez une cellule sur une feuille de calcul.

1. Ouvrez l'éditeur Visual Basic.

2. Double-cliquez sur Sheet1 (Sheet1) dans l'explorateur de projet.

3. Choisissez Feuille de calcul dans la liste déroulante de gauche. Choisissez Modifier dans la liste déroulante de droite.

Ajoutez les lignes de code suivantes à l'événement de modification de feuille de calcul :

4. Déclarez deux variables de type Integer.

Dim i en tant qu'entier, j en tant qu'entier

5. Ajoutez une boucle Do While.

Do While Cells (6 + i, 1).Valeur ""
je = je + 1
Boucle

Explication : Pour i = 0, Excel VBA vérifie la tâche X, pour i = 1, tâche Y, etc. Excel VBA quitte la boucle Do While lorsque Cells (6 + i, 1). La valeur est vide (plus de tâches à vérifier) .

Ajoutez les lignes de code suivantes (en 6, 7 et 8) à la boucle Do While.

6. Initialisez la variable j avec la valeur 0.

j = 0

7. Définissez la couleur d'arrière-plan d'une tâche sur vert en supposant qu'une tâche est dans les temps (ce n'est pas nécessairement vrai bien sûr).

Cellules (6 + i, 1).Intérieur.IndexCouleur = 4

8. Ajoutez une autre boucle Do While.

Do While Cells(4, 2 + j).Valeur <= Date
If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3
j = j + 1
Boucle

Remarque : la fonction Date renvoie la date du jour.

Explication : Pour i = 0, j = 0, Excel VBA vérifie la cellule B6. Pour i = 0, j = 1, Excel VBA vérifie la cellule C6, etc. Une tâche est planifiée si un "1" existe dans chaque colonne jusqu'à et y compris la date d'aujourd'hui. Si Excel VBA trouve un "0", il définit la couleur d'arrière-plan de la tâche en rouge.

9. Testez le programme. Par exemple, indiquez que la tâche Z du 6 juin est terminée. En conséquence, la tâche Z deviendra automatiquement verte.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave