Dérouler des boucles

Consigne

Durant les 90 prochaines minutes, votre tâche est de réaliser une série de petites feuilles de calcul avec Excel dans le but d’en apprendre les bases.

Objectifs

À la fin de ce travail, vous devez :

  1. connaître les notions de référence relative et de référence absolue ;
  2. être capable de copier une formule avec la souris ;
  3. être capable d’utiliser les fonctions EQUIV (MATCH) et DECALER (OFFSET).

Ressources

Logiciel :

  • Microsoft Excel

Algorithme d’Euclide

Créez un nouveau classeur Excel et nommez-le EuclideanAlgorithm.xlsx et changez le nom de la feuille de calcul « Feuil1 » en « PGCD » (plus grand commun diviseur). Modifiez ensuite la feuille de calcul pour qu’elle ressemble à celle de la figure 1.

Fig. 1 – Interface utilisateur
Fig. 1 – Interface utilisateur

Donnez le nom a à la cellule C4 et le nom b à la cellule C6. À partir de la ligne 16, saisissez les textes qui serviront d’en-tête pour un tableau conformément à la figure 2.

Fig. 2 – En-têtes du tableau
Fig. 2 – En-têtes du tableau

Dans la cellule A17, on veut la plus grande des deux valeurs a et b et dans la cellule B17, on veut la plus petite de ces deux valeurs. Pour cela, commencez par saisir la formule ci-dessous dans la cellule A17.

= MAX(a ; b)

Puis la formule ci-après dans la cellule B17.

= MIN(a ; b)

Dans la cellule C17, on veut savoir si la valeur de la colonne b est plus grande que 0. Pour cela, l’expression de cette cellule doit être :

= B17 > 0

Dans la cellule D17, on veut le quotient (résultat de la division entière) de la valeur de la colonne a par la valeur de la colonne b, mais uniquement si cette division est possible, c’est-à-dire uniquement si la valeur de colonne b est plus grande que 0. Si la valeur de la colonne b est 0, on doit afficher 0. Pour calculer le quotient, on a la fonction QUOTIENT (QUOTIENT) qui prend comme paramètre le dividende et le diviseur, et pour calculer le quotient si la valeur de b est plus grande que 0, on a la fonction SI (IF). Saisissez l’expression suivante dans la cellule D17 :

= SI(C17;QUOTIENT(A17;B17);0)

Dans la cellule E17, on veut le reste de la division entière de la colonne a par la colonne b. Pour calculer le reste, on a la fonction MOD (MOD) qui prend comme paramètre le dividende et le diviseur. Là encore, on doit s’assurer que la division est possible. Si la division n’est pas possible la cellule doit avoir la valeur 0.

Lorsque vous avez saisi les formules des cellules C17, D17 et E17, sélectionnez ces trois cellules et placez le pointeur sur la poignée (le petit carré) qui se trouve en bas à droite du rectangle de sélection. Le pointeur doit devenir noir comme dans la figure 3.

Fig. 3 – Poignée
Fig. 3 – Poignée

Tirez maintenant le rectangle de sélection au moins jusqu’à la ligne 37 pour copier ces trois formules sur chaque ligne.

Fig. 4 – Copier des formules
Fig. 4 – Copier des formules

Si vous observez les formules sur les autres lignes, vous remarquez que les formules se sont adaptées d’elles-mêmes pour faire référence aux valeurs des colonnes a et b. Cela est possible, car lorsqu’on ne fait rien de particulier, une référence à une cellule est relative.

Il nous reste maintenant à remplir les colonnes a et b. Le tableau que nous sommes en train de construire est en fait une boucle qui est déroulée. En effet, un tableur ne permet pas de réaliser des boucles. Lorsque l’on doit répéter des opérations, on doit le faire à l’aide d’un tableau dont chaque ligne représente une répétition (une itération).

Pour la première itération, les valeurs de a et b sont les valeurs saisies par l’utilisateur. Pour les opérations suivantes, la valeur de a est la valeur b de l’itération précédente et la valeur de b est le reste de la division de l’itération précédente. Pour réaliser cela, la formule de la cellule A18 est une référence à la cellule B17 (valeur de la colonne b de la ligne précédente) :

= B17

De même, la valeur de cellule B18 est une référence à la cellule E17 (le reste de la ligne précédente). Une fois que les formules A18 et B18 ont été saisies, sélectionnez ces deux cellules et tirez le rectangle de sélection jusqu’à la ligne 37.

Fig. 5 – Copier des formules
Fig. 5 – Copier des formules

Il nous reste enfin à trouver dans le tableau le PGCD. Le résultat est le reste qui précède la première itération dont le reste est 0. Pour trouver ce résultat, on doit d’abord déterminer le nombre d’itérations à l’aide de la fonction EQUIV (MATCH). Dans la cellule H16, saisissez la formule suivante :

= EQUIV(FAUX; C17:C37; 0) - 1

Cette formule nous donne le nombre d’itérations, c’est-à-dire le nombre de lignes du tableau qui ont été utilisées pour faire le calcul. Le résultat est le reste de à l’avant-dernière ligne. Pour le trouver, on utilise ensuite la fonction DECALER (OFFSET). Dans la cellule C8, saisissez la formule suivante :

= DECALER(B17; H16-1; 0)

Pour finir, cachez les lignes du tableau de calcul et faites une jolie interface utilisateur.

Votre rapport doit contenir une description de toutes les fonctions utilisées.