Exercices VBA les instructions conditionnelles Série 01
Sommaire
- 1- Objectifs
- 2- Exercice 01
- 2.1- Énoncé
- 2.2- Solution
- 3- Exercice 02
- 3.1- Énoncé
- 3.2- Solution
- 4- Exercice 03
- 4.1- Énoncé
- 4.2- Solution
- 5- Exercice 04
- 5.1- Énoncé
- 5.2- Solution
- 6- Exercice 05
- 6.1- Énoncé
- 6.2- Rappel
- 6.3- Solution
- 7- Exercice 06
- 7.1- Énoncé
- 7.2- Solution
- 8- Exercice 07
- 8.1- Énoncé
- 8.2- Solution
- 9- Exercice 08
- 9.1- Énoncé
- 9.2- Solution
- 9.2.1- Sommaire du cours Excel
Exercices VBA les instructions conditionnelles Série 01
-
Objectifs
- Connaitre les instructions conditionnelles en VBA
-
Exercice 01
-
Énoncé
- Écrire un programme meteo_des_plages qui demande à l’utilisateur la température de l’air (Tair), celle de l’eau (Teau) et la force du vent (FV) (entier >= 0), puis en fonction de ces données, qui seront respectivement saisies aux cellule B3, B4 et B5, affiche dans la cellule B6:
- « baignade interdite » si la force du vent est supérieure à 7 ;
- « baignade déconseillée » si la force du vent est supérieure à 5 et inférieure ou égale à 7 ;
- sinon :
- « baignade très agréable » : si Tair>=30 et Teau>=20 ;
- « Risque d’hydrocution » : si Tair>=30 et Teau<15;
- « Attention à la sortie de l’eau » : si Tair<10 et Teau>=20;
- « bain du 1er janvier ? » : si Tair<10 et Teau<10.
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 02
-
Énoncé
- Écrire un programme VBA qui demande à l’utilisateur le saisi d’une valeur achetée et calcule la remise à appliquer et affiche le prix final.
- Il s’agit d’appliquer des taux de remises sur le montant total de la facture, en fonction de la remise appliquée. Il n’y a plus de règle stricte, comme la correspondance entre les catégories pour extraire le bon taux de remise.
- La valeur achetée est insérée à la cellule C11, la remise dans la cellule C12 et le prix final dans la cellule C13
- Toutes les valeurs ne peuvent être listées à l’avance. Des remises sont accordées par tranches ou intervalles. C’est ce qu’illustre le petit tableau ci-dessous.
- Le programme crée doit déterminer la valeur d’une remise sur un achat, et insère cette valeur ainsi que le prix après remise dans la feuille de calcul.
- L’image suivant illustre le résultat souhaité
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 03
-
Énoncé
- Écrire un programme « VBA_Puissance » qui demande à l’utilisateur une valeur x à saisir dans la cellule B3 et un exposant y à la cellule C3, une fois la cellule C3 est changée le programme vérifie si les deux cellules contiennent des valeurs, si c’est le cas la cellule D3 contiendra le résultat de x à la puissance y, si non un message d’alerte sera affiché dans la cellule.
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 04
-
Énoncé
- Supposons que nous ayons une feuille (l’image ci-dessous) de calcul avec le nom des élèves dans la colonne A et un score dans la colonne B. Nous aimerions examiner ce score et voir s’il se situe dans une certaine fourchette 0-59 = F, 60-69 = D, 70-79 = C, 80-89 = B et 90-100 = A comme illustré ci-dessous.
- S’il est égal ou supérieur à 90, par exemple, nous aimerions attribuer la note « A ». Nous voulons que ces notes apparaissent dans la plage C2 au C12. En plus de placer une note dans une cellule, nous souhaitons modifier la couleur d’arrière-plan de cette cellule suivant la codification ci-dessus.
- Si la note attribuée est « F », est comme il s’agit d’un score si faible, nous voulons mettre en évidence le nom de l’élève, le score et la note. Nous voulons colorer les trois cellules en rouge, afin que nous puissions voir rapidement que cet élève échoue et a besoin d’une attention particulière.
- Choix de couleur
- Lorsque vous utilisez VBA pour coder le Colorindex (ou la couleur d’arrière-plan) d’une cellule, il est utile de savoir quel entier équivaudra à quelle couleur.
- Vous trouverez ci-dessous une image de référence qui montre la couleur et répertorie son Colorindex respectif.
- Utilisez le code suivant pour obtenir la couleur
- L’image suivant illustre le travail demandé
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 05
-
Énoncé
- Dans feuille Excel, nous allons créer une procédure VBA qui va attribuer des nombres aléatoire entre 1900 et 2050 dans une plage de cellules carrée de 10 par 10, la cellule de départ est A1, et colorer les cellules contenant des années bissextiles.
- Dans la cellule I13 afficher le nombre des années bissextiles trouvé
- L’image suivant illustre le travail demandé
-
Rappel
- Une année bissextile est une année qui compte 366 jours au lieu de 365. Le jour supplémentaire est le 29 février. Sauf cas particulier les années bissextiles ont lieu tous les 4 ans. 2020 est une année bissextile et 2024 le sera aussi.
- Pour qu’une année soit bissextile il faut qu’elle respecte l’une des 2 conditions suivantes :
- Condition 1 : divisible par 4 et non divisible par 100.
- Condition 2 : divisible par 400.
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
Exercice 06
-
Énoncé
- Créez une fonction VBA nommée TotalAPayer qui calculera le Total à payer.
- Vous devrez fournir 3 arguments à la fonction: la quantité, le prix HT, le TVA
- En fonction de la quantité, vous accorderez une remise :
- 1 pièce pas de remise
- de 2 jusque 10, remise de 1%
- de 11 à 20, remise de 5%
- de 21 à 30, remise de 10%
- de 31 à 40, remise de 15%
- de 41 à 50, remise de 20%
- Si la commande est supérieure à 50 pièces une remise de 20% est appliquée
- Un click sur un bouton doit déclencher la fonction
- Si l’un des arguments n’est pas fourni ou est erroné un message d’erreur doit être affiché
- L’image suivant illustre le travail demandé
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
Valeur achetée | Remise |
---|---|
<= 1000 | 0% |
> 1000 et <= 2000 | 10% |
> 2000 et <= 5000 | 20% |
> 5000 et < 10 000 | 25% |
>= 10 000 | 30% |
Sub CouleurRef()
Dim x As Integer
For x = 1 To 56
Cells(x, 1).Interior.ColorIndex = x
Cells(x, 2) = x
Next x
End Sub