Atelier VBA — Lire une fonction et tracer une boucle
Couverture de l’UE : Première version : chaque rubrique du sommaire dispose d’un cours de méthode. La couverture reste partielle : approfondissements encore nécessaires en normalisation, fonctions de tableur, programmation VBA exécutée dans Excel, diagrammes BPMN complets et cas transversaux. Les exercices SQL sont contrôlés sur un jeu d’essai SQLite ; les particularités d’autres SGBD et tableurs doivent être vérifiées.
Objectif : Appliquer la méthode et expliquer ses contrôles.
Données du cas
Exemple de fonction VBA :
Function NetHT(ByVal montant As Double) As Double
If montant >= 1000 Then
NetHT = montant * 0.9
Else
NetHT = montant
End If
End Function
Extrait indépendant de cumul :
total = 0
For i = 1 To 3
total = total + i
Next i
Le code est présenté pour lecture et traçage ; il n’a pas été exécuté dans Excel dans cette validation. Dans l’extrait de cumul, les variables doivent être déclarées dans la procédure complète.
Démarche
Définissez le résultat attendu avant de choisir la formule ou la requête. Contrôlez les valeurs manquantes, les limites et le périmètre. Comparez votre réponse au corrigé en distinguant calcul, interprétation et conditions d’exécution.
Exercice
Que retourne NetHT(1000) ? Tracez les valeurs successives de total. Distinguez le rôle du paramètre et celui de la variable i.
Afficher le corrigé expliqué
NetHT(1000) retourne 900, avant toute règle d’arrondi supplémentaire. Dans la boucle : total commence à 0, puis vaut 1, 3 et 6. Le paramètre montant est une donnée reçue par la fonction ; i est le compteur des répétitions. La fonction rend sa valeur en l’affectant à son nom. Avant une utilisation réelle, intégrer le code au bon module, déclarer les variables et tester dans l’environnement Excel prévu, y compris les entrées non valides et les limites.
Question de validation
Après les trois répétitions, total vaut :
3
6
9
Vérifier la réponse
Réponse B : 6
Le cumul est initialisé à zéro puis augmente de 1, de 2 et de 3 : les valeurs successives sont 1, 3 et 6.
Sources complémentaires
Repères théoriques ; exemples et exercices originaux.