# Initiation à la programmation/Exercices/Visual Basic

Établissons ensemble l'algorithme qui à partir de la largeur et de la longueur d'un rectangle nous donne le résultat de la surface et du périmètre.
De plus, affiche si le nombre obtenu pour le périmètre est inférieur ou supérieur au nombre obtenu pour la surface.
Remarques :
* la longueur et la largeur sont des entiers.
* les valeurs sont directement saisies dans le programme.
En blocs graphiques, cela nous donne la représentation suivante.
On comprend aisément à travers cet exemple, que cette représentation est peu commode.
Lancer le tableur « Excel », puis dans « Outils », puis « Macro », choisir « Visual Basic Editor ».
Dans « Visual Basic Editor », dans la fenêtre « Projet – VBA Project », cliquer sur « Afficher le code », dans la fenêtre de droite l'espace vous est réservé pour saisir votre programme.
Les commentaires sont en vert et précédé d'un ', les mots système (réservé au langage informatique) sont en bleu. Sinon, on retrouve les mêmes structures que celles exposées dans le cours.

## Exercice n$^o$ 1

Établir l'algorithme qui permet d'afficher la valeur d'un entier dans la cellule (1, A) d'une feuille Excel.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 2

Établir l'algorithme qui permet de lire la valeur d'un entier dans la cellule (1, A) d'une feuille Excel, de sauvegarder cette valeur dans une variable et d'afficher cette valeur dans la cellule (3, B).
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 3

Établir l'algorithme qui permet d'intervertir la valeur d'un entier dans la cellule (1, A) d'une feuille Excel, et la valeur d'un entier dans la cellule (2, A).
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 4

Établir l’algorithme qui permet d'intervertir la valeur d'un entier dans la cellule (1, A) d'une feuille Excel, et la valeur d'un entier dans la cellule (2, A), si la cellule du haut est de valeur supérieure à la cellule du bas. Ne rien faire dans les autres cas.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 5

Établir l'algorithme qui à partir du rayon donne le résultat de la surface et du périmètre d'un cercle.
De plus, affiche si le nombre obtenu pour le périmètre est inférieur ou supérieur au nombre obtenu pour la surface.
* le rayon sera un entier.
* les valeurs seront lues à partir de valeurs écrites dans la feuille Excel.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 6

Dans un tableau de valeurs (déjà rangé et croissant) sur la colonne A, valeur comprise entre 5 et 50 (de 5 en 5). Trouver la position d'une valeur (indice dans le tableau) et l'afficher.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 7

Établir l'algorithme qui permet de remplir la feuille Excel sur les 10er lignes (1er colonne) par des nombres croissants. De 1 à …
On devra utiliser la structure de contrôle tant que.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 8

Établir l'algorithme qui remplit la feuille Excel sur les 10er lignes (1er colonne) par des nombres aléatoires compris entre 1 et 100.
Tous les entiers sont déclarés comme des variables de type entier. On devra utiliser la structure de contrôle tant que.
La fonction en Visual Basic générant 1 entier de façon aléatoire est la suivante :
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 9

Établir l’algorithme qui remplit la feuille Excel sur les 8er lignes et les 2er colonnes des entiers de 1 à n.
Première version : on remplira d'abord la 1er colonne puis la 2nd, ce qui donnera :
| | A | B |
| 1 | 1 | 9 |
| 2 | 2 | 10 |
| 3 | 3 | 11 |
| 4 | etc. | etc. |
Seconde version : on remplira d'abord la 1er colonne puis la 2nd, ce qui donnera :
| | A | B |
| 1 | 1 | 2 |
| 2 | 3 | 4 |
| 3 | 5 | 6 |
| 4 | etc. | etc. |
Tous les entiers sont déclarés comme des variables de type entier.
On pourra utiliser la structure de contrôle tant que.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 10

Établir l'algorithme qui fait la conversion décimale binaire d'un chiffre entier.
* Tous les entiers sont déclarés comme des variables de type entier.
* Les valeurs seront directement saisies dans le programme.
On dispose des variables : Quo pour le quotient ; Den pour le dénominateur ; Num pour le numérateur et Res pour le reste. Respecter ces dénominations pour que tout le monde ait les mêmes noms de variable.
L'instruction Int(…) retourne la valeur entière de ce qui se trouve dans la parenthèse (donc sans la partie après la virgule).
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 11

À partir de l'algorithme qui fait la conversion décimale — binaire d'un chiffre entier, réaliser celui qui fait la conversion décimale — hexadécimale.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.

## Exercice n$^o$ 12

Établir l'algorithme qui classe en ordre décroissant les n entier dans un tableau, les n entiers étant classés de façon aléatoire au départ.
Tous les entiers sont déclarés comme des variables de type entier.
Cette solution n'a pas été rédigée. Vous pouvez le faire en modifiant le paramètre « contenu » du modèle.