Tâches sur VBA Excel dans l’Annexe
Ci-dessous, nous examinerons un programme dans Excel VBA qui définit la couleur d’arrière-plan des tâches qui sont dans les délais prévus au vert, et définit la couleur d’arrière-plan des tâches qui sont en retard au 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 délais prévus si un exist « 1 » dans chaque colonne jusqu’à et y compris la date d’aujourd’hui. Aujourd’hui, il est 6 juin Tâches X et Y sont dans les délais prévus. Tâche Z est en retard (pas « 1 » dans la cellule E8).
Créer une feuille de calcul Modifier l’événement. Code ajouté à la feuille de changement d’événement sera exécuté par Excel VBA lorsque vous modifiez une cellule sur une feuille de calcul.
-
Ouvrez le Visual Basic Editor.
-
Double-cliquez sur Sheet1 (Sheet1) dans le projet Explorer.
-
Choisissez la feuille de travail dans la liste déroulante de gauche. Choisissez le changement de la droite liste déroulante.
Ajoutez les lignes de code suivantes à la feuille de travail Modifier l’événement:
-
Déclarer deux variables de type entier.
Dim i As Integer, j As Integer
-
Ajouter une boucle Do While.
Do While Cells(6 + i, 1).Value <> "" i = i + 1 Loop
Explication: Pour i = 0, Excel VBA vérifie la tâche X, pour i = 1, la tâche Y, etc.
Excel VBA quitte la boucle Do While lorsque les cellules (6 + i, 1) .Value est vide (tâches non plus à vérifier).
Ajoutez les lignes de code ci-dessous (à 6, 7 et 8) à la boucle Do While.
-
initialiser la variable j avec la valeur 0.
j = 0
-
Définissez la couleur d’arrière-plan d’une tâche au vert en supposant qu’une tâche est dans les délais prévus (ce n’est pas nécessairement vrai, bien sûr).
Cells(6 + i, 1).Interior.ColorIndex = 4
-
Ajouter une autre boucle Do While.
Do While Cells(4, 2 + j).Value <= Date If Cells(6 + i, 2 + j).Value = 0 Then Cells(6 + i, 1).Interior.ColorIndex = 3 j = j + 1 Loop
Note: la fonction Date renvoie la date d’aujourd’hui.
Explication: pour i = 0, j = 0, les contrôles Excel VBA cellule B6. Pour i = 0, j = 1, Excel VBA vérifie la cellule C6, etc. Une tâche est dans les délais prévus si existe « 1 » 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 au rouge.
-
Tester le programme. Par exemple, indiquer que la tâche Z le 6 juin est terminée. En conséquence, la tâche Z se met automatiquement en vert.