exercices  VBA - PandaCodeur

Exercice 0 :

Soit m la moyenne des notes d’un étudiant donnée par l'utilisateur. Déterminer la décision du jury (ajourné, admis passable, admis AB, admis B, admis TB).

Exercice 1 :

Écrire un script VBA (Sub sommecarresimpairs()) qui demande à l’utilisateur de rentrer un nombre entier compris entre 1 et 100 puis calcule la somme des carrés des nombres impairs compris entre 1 et ce nombre.

On pourra s’assurer que l’utilisateur rentre bien un nombre dans l’intervalle demandé.

Exercice 2 :

Écrire un script VBA (Sub devinelancer()) qui va vous opposer à votre programme. L’ordinateur simule le lancer d’un dé à 6 faces (x = Int(6 * Rnd() + 1)). Vous devez deviner ce nombre en au plus 3 essais. Si vous devinez le nombre cherché le programme vous félicite sinon le programme vous propose de recommencer jusqu’à atteindre les 3 essais maximum autorisés.

Pour obtenir au hasard un entier x compris dans la plage [a, b], on peut utiliser la formule x = Int(((b-a)+1) * Rnd() + a).

Exercice 3 :

Écrire un programme (Sub calculesomme()) qui va vous opposer à votre programme. L’ordinateur vous demande de calculer la somme de deux nombres entiers aléatoires compris entre 1 et 100. Vous devez calculer cette somme de tête en au plus 5 essais. Si vous trouvez le nombre cherché le programme vous félicite sinon le programme vous propose de recommencer jusqu’à atteindre les 5 essais maximum autorisés.

Exercice 4 :

Écrire un programme (Sub palindrome()) qui indique si un mot donné par l’utilisateur est un palindrome. Un mot est un palindrome si l’ordre de ses lettres reste le même quand on le lit de gauche à droite ou inversement.

Exemple : radar, kayak, Laval, ressasser.

En VBA, la fonction StrReverse(uneChaîne) permet d’inverser l’ordre des caractères dans une chaîne passée en argument. Elle renvoie donc la chaîne résultant de cette opération.

La comparaison de chaînes de caractères est par défaut sensible à la casse, car la représentation binaire de chaque caractère est considérée. Par exemple, Laval n’est pas un palindrome dans ce contexte. Pour rendre la comparaison insensible à la casse, utiliser la directive Option Compare Text au début du module de cet exercice ou alors...

Exercice 5 :

On suppose un mot et une lettre saisis par l'utilisateur. Écrire le programme (Sub devineunelettre()) qui vérifie si la lettre donnée est une lettre du mot. Le programme s'arrête dès qu'on a vérifié que la lettre est une lettre du mot.

NB: Pour connaître la longueur du mot on utilisera Len("mot") et pour obtenir la ième lettre Mid("mot", i, 1).

Exercice 6 :

Ce programme (Sub motdepasse()) va opposer deux joueurs. Le premier joueur choisit un mot de passe et le second essaie de le deviner.

On pourra limiter le nombre d’essais et déclarer le Joueur 1 vainqueur si le mot de passe n’est pas découvert à l’issue de ces essais autorisés.

Exercice 7 :

Écrire un programme (Sub nombrevoyelles()) qui renvoie le nombre de voyelles contenues dans une chaîne de caractères entrée par l’utilisateur.

Exercice 8 : Fonctions SI et SELON

A l’aide d’une part, le branchement conditionnel IF, d’autre part, le branchement multiple SELECT CASE, écrire deux versions de la fonction personnalisée permettant de réaliser le calcul suivant :

Entrée : prix (réel)

Seuil : (réel)

Sortie : demande (réel)

Calcul : DA = -0.3 x prix + 200

Si DA ≤ 0 Alors demande = 0

Si DA ≥ seuil Alors demande = seuil

Dans les autres cas, demande = DA

Simulation et gestionnaire de scénarios

Construire la feuille de calcul suivante :

Prix (P) 60 P

Quantité (Q) 20 Q

Coûts Fixes 50 CF

Coût Unitaire 2 CU

Coût Total 90 CT=CU*Q+CF

Recette 1200 R=P*Q

Bénéfice 1110 B=R-CT

a. A l’aide de la table de simulation à une entrée, affichez les valeurs du bénéfice pour les prix allant de 50 à 100 avec un pas de 10. Nous devrions obtenir une table ressemblant à ceci :

prix 1110

50 910

60 1110

70 1310

80 1510

90 1710

100 1910

b. A l’aide de la table de simulation à deux entrées, affichez les valeurs du bénéfice pour le croisement des prix allant de 50 à 100 avec un pas de 10, et de quantité allant de 5 à 15 avec un pas de 5.

c. A l’aide du gestionnaire de scénarios, définissez deux variantes portant sur le prix, la quantité et le coût unitaire. La synthèse devra inclure la recette et le bénéfice.

Voici un exemple de sortie.

Synthèse de scénarios

Valeurs actuelles : s 1 s 2

Cellules variables :

Prix 60 100 60

Quantité 20 50 20

Coût_Unitaire 2 1 20

Cellules résultantes :

Recette 1200 5000 1200

Bénéfice 1110 4950 1100

Exercice 9 :

Créer un programme qui génère un tableau de multiplication (de 1 à 10) pour un nombre entier donné par l'utilisateur.

Aucune note. Soyez le premier à attribuer une note !

Ajouter un commentaire

Anti-spam