Exercices Corrigés VBA Excel 2007 : Fonctions et Procédures Personalisées VBA
Exercice 1 : Procédure simple
3) Saisissez le code VBA découlant de l’algorithme que vous avez réalisé
Remarque : la fonction CONVCHAINE(…) se traduit en VBA par l’instruction Cstr(…)
4) Pour vérifier que le code est correct, compilez la procédure : menu Débogage – Compiler
5) Dans la feuille de calcul nommée « valacquise », créez un bouton et associez lui le nom de la procédure que vous avez saisie
6) Testez le bon fonctionnement du code avec les éléments suivants :
Annuité : 6 500
Taux d’intérêt : 7%
Nombre d’annuités : 5
Exercice 2 : Fonction personnalisée simple – Calculs par tranche
Caff HT≤6 500 € => Ristourne = 3%
6 500<Caff HT≤10 500 => Ristourne =5%
10 500<Caff HT≤15 000 =>Ristourne=7%
Caff HT> 15 000 =>Ristourne =8%
Activité :
1) Rédigez l’algorithme de la fonction personnalisée CalcRistourne permettant d’obtenir pour un chiffre d’affaires donné, le montant de la ristourne
2) Dans le classeur utilisé pour l’exercice 1, insérez une fonction dans la feuille de module « Module1 » et saisissez le code VBA correspondant à l’algorithme de la première question
3) Renommez la feuille « Feuil2 » en Ristourne annuelle, saisissez les éléments du jeu d’essai ci-dessous et implantez la formule de calcul de la ristourne en utilisant la fonction personnalisée que vous avez créé lors de la question 2
-------------------------------------------------------------------------------------------------------
Corrigé Exercice 1 :
3) Saisissez le code VBA découlant de l’algorithme que vous avez réalisé:
Code de la procédure :
Public Sub Vacq()
Dim a As Single
Dim i As Single
Dim n As Integer
Dim Va As Single
n = InputBox("Saisissez le nombre d'annuités")
a = InputBox("Saisissez le montant de l'annuité")
i = InputBox("Saisissez le taux d'intérêt (pour 100 €)")
i = i / 100
Va = (a * (1 + i) ^ n - 1) / i
MsgBox ("Le montant de la valeur acquise est de : " & CStr(Va))
End Sub
Corrigé Exercice 2 :Fonction personnalisée simple
Une société accorde à ses clients une ristourne annuelle calculée par tranche selon les conditions suivantes :
Caff HT≤6 500 € => Ristourne = 3%
6 500<Caff HT≤10 500 => Ristourne =5%
10 500<Caff HT≤15 000 =>Ristourne=7%
Caff HT> 15 000 =>Ristourne =8%
ALGO Calcul_Ristourne
---------------------------------------------------------------------
FONCTION CalcRistourne(Caff : Réél) : Réél
SI Caff<=6500
ALORS CalcRistourne=Caff*3%
SINON
SI Caff<=10500
ALORS CalcRistourne= 195+(Caff-6500)*5%
SINON
SI Caff<=15000
ALORS CalcRistourne=395+(Caff-10500)*7%
SINON CalcRistourne=710+(Caff-15000)*8%
FIN SI
FIN SI
FIN SI
FIN FONCTION
---------------------------------------------------------------------
LA FONCTION EN VBA
---------------------------------------------------------------------
Public Function CalcRistourne(Caff As Single) As Single
If Caff <= 6500 Then
CalcRistourne = Caff * 0.03
Else
If Caff <= 10500 Then
CalcRistourne = 195 + (Caff - 6500) * 0.05
Else
If Caff <= 15000 Then
CalcRistourne = 395 + (Caff - 10500) * 0.07
Else
CalcRistourne = 710 + (Caff - 15000) * 0.08
End If
End If
End If
---------------------------------------------------------------------
créez une procédure VBA en utilisant Excel 2007 qui permet de calculer la valeur acquise d’une suite de n annuités constantes de fin de période placées au taux d’intérêt annuel i,
2) Créez une procédure que vous appellerez ValAcqu (Cf. Fiche technique « Procédure en VBA »)
3) Saisissez le code VBA découlant de l’algorithme que vous avez réalisé
Remarque : la fonction CONVCHAINE(…) se traduit en VBA par l’instruction Cstr(…)
4) Pour vérifier que le code est correct, compilez la procédure : menu Débogage – Compiler
5) Dans la feuille de calcul nommée « valacquise », créez un bouton et associez lui le nom de la procédure que vous avez saisie
6) Testez le bon fonctionnement du code avec les éléments suivants :
Taux d’intérêt : 7%
Nombre d’annuités : 5
Une société accorde à ses clients une ristourne annuelle calculée par tranche selon les conditions suivantes :
Caff HT≤6 500 € => Ristourne = 3%
6 500<Caff HT≤10 500 => Ristourne =5%
10 500<Caff HT≤15 000 =>Ristourne=7%
Caff HT> 15 000 =>Ristourne =8%
Activité :
1) Rédigez l’algorithme de la fonction personnalisée CalcRistourne permettant d’obtenir pour un chiffre d’affaires donné, le montant de la ristourne
2) Dans le classeur utilisé pour l’exercice 1, insérez une fonction dans la feuille de module « Module1 » et saisissez le code VBA correspondant à l’algorithme de la première question
3) Renommez la feuille « Feuil2 » en Ristourne annuelle, saisissez les éléments du jeu d’essai ci-dessous et implantez la formule de calcul de la ristourne en utilisant la fonction personnalisée que vous avez créé lors de la question 2
Remarque :
- Le symbole % n’est pas reconnu par VBA, il faut donc écrire 0,07 au lieu de 7% dans le code
-------------------------------------------------------------------------------------------------------
Correction
-------------------------------------------------------------------------------------------------------3) Saisissez le code VBA découlant de l’algorithme que vous avez réalisé:
Code de la procédure :
Public Sub Vacq()
Dim a As Single
Dim i As Single
Dim n As Integer
Dim Va As Single
n = InputBox("Saisissez le nombre d'annuités")
a = InputBox("Saisissez le montant de l'annuité")
i = InputBox("Saisissez le taux d'intérêt (pour 100 €)")
i = i / 100
Va = (a * (1 + i) ^ n - 1) / i
MsgBox ("Le montant de la valeur acquise est de : " & CStr(Va))
End Sub
Les étapes de création de la procédure en image :
la boite de dialogue qui doit être affichée lorsqu'on clique sur le bouton :
Une société accorde à ses clients une ristourne annuelle calculée par tranche selon les conditions suivantes :
Caff HT≤6 500 € => Ristourne = 3%
6 500<Caff HT≤10 500 => Ristourne =5%
10 500<Caff HT≤15 000 =>Ristourne=7%
Caff HT> 15 000 =>Ristourne =8%
ALGO Calcul_Ristourne
---------------------------------------------------------------------
FONCTION CalcRistourne(Caff : Réél) : Réél
SI Caff<=6500
ALORS CalcRistourne=Caff*3%
SINON
SI Caff<=10500
ALORS CalcRistourne= 195+(Caff-6500)*5%
SINON
SI Caff<=15000
ALORS CalcRistourne=395+(Caff-10500)*7%
SINON CalcRistourne=710+(Caff-15000)*8%
FIN SI
FIN SI
FIN SI
FIN FONCTION
---------------------------------------------------------------------
LA FONCTION EN VBA
---------------------------------------------------------------------
Public Function CalcRistourne(Caff As Single) As Single
If Caff <= 6500 Then
CalcRistourne = Caff * 0.03
Else
If Caff <= 10500 Then
CalcRistourne = 195 + (Caff - 6500) * 0.05
Else
If Caff <= 15000 Then
CalcRistourne = 395 + (Caff - 10500) * 0.07
Else
CalcRistourne = 710 + (Caff - 15000) * 0.08
End If
End If
End If
---------------------------------------------------------------------
Article plus récent Article plus ancien