Activité Conversion d'unité

Situation

Vous avez reçu le mandat de réaliser une feuille de calcul permettant de convertir différentes unités de mesure. On veut, par exemple, pouvoir connaître la valeur en degrés Fahrenheit, d’une température exprimée en degrés Celsius.

Si l’on veut pouvoir convertir n’importe quelle unité d’une dimension (température, longueur, masse, etc.) dans n’importe quelle autre unité de cette dimension, on commence par choisir une unité de base (p. ex. le kelvin [K] pour la température ou le mètre [m] pour la longueur) puis on définit pour chaque unité le rapport entre cette unité et l’unité de base. Dans le cas des unités de température, comme le 0 représente généralement une température arbitraire (échelle d’intervalle), il est également nécessaire de connaître le nombre d’unités qui correspond au zéro dans l’unité de base (décalage).

Plus concrètement, on sait qu’une température de 0 K (kelvin) correspond à une température de -273.15 °C (degré Celsius) et qu’une différence de 1 °C est égale à une différence de 1 K. Pour convertir des degrés Celsius [°C] en kelvin [K], on utilise donc la relation suivante :

Inversement, pour convertir des kelvins en degrés Celsius, on utilise la relation suivante :

De la même manière, on sait que 0 K (kelvin) vaut −459,67 °F (degré Fahrenheit) et qu’un écart de 9 °F est égal à un écart de 5 K. Pour convertir des degrés Fahrenheit [°F] en kelvin [K], on utilise donc la relation suivante :

Inversement, on convertit des kelvins en degrés Fahrenheit en utilisant la relation suivante :

La figure 1 montre graphiquement la conversion de degrés Celsius en kelvins (ligne pointiée rouge) et la conversion de kelvin en degrés Fahrenheit (ligne pointiée bleue).

Fig. 1 – Échelles de température
Fig. 1 – Échelles de température

En traitant, toutes les unités de la même manière, on peut passer d’une unité à un autre en convertissant la première dans l’unité de base puis l’unité de base dans la seconde. Par exemple, pour convertir des degrés Celsius en degrés Fahrenheit, on convertit d’abord les degrés Celsius en kelvin (l’unité de base), puis les kelvins en degré Fahrenheit.

Fig. 2 — Formules de conversion

On peut choisir n’importe quelle unité comme unité de base, mais il est préférable de choisir les unités du Système international d’unité (SI) car c’est par rapport à elles que sont généralement définies toutes les autres, comme celles du United States customary units par exemple.

Consigne

Durant les 135 prochaines minutes, votre tâche est de réaliser un fichier Excel qui permet de convertir des unités de mesure.

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).
  4. être capable d’utiliser plusieurs feuilles de calculs

Ressources

Documents :

Logiciel :

  • Microsoft Excel

Mise en route

Pour commencer cette application, créez une nouveau classeur Excel et enregistrez-le sous le nom UnitConverter.xlsx. Nommez la première feuille de calcul Conversion puis ajouter deux autres feuilles de calcul nommées, respectivement Tables et Calculs. Sur la première feuille de calcul, réalisez une interface utilisateur qui ressemble à la figure 3. Donnez le nom measure à la cellule D5, donnez le nom fromUnit à la cellule D7 et pour finir donnez le nom toUnit à la cellule D9.

Fig. 2 – Interface utilisateur
Fig. 3 – Interface utilisateur

Sur la seconde, réalisez un tableau identique à celui de la figure 4. Pour ajouter un retour à la ligne dans une cellule, utilisez la combinaison de touche Alt-Enter. Toutes les valeurs sont des constantes. Il n’y a pas de formule dans le tableau.

Fig. 4 – Table de conversion
Fig. 4 – Table de conversion

Sélectionnez la liste des noms des unités comme sur la figure 5 et donnez à cette plage de cellules (Tables!$B$4:$B$10), le nom unitName.

Fig. 5 – Nommer les colonnes
Fig. 5 – Nommer les colonnes

Faites de même pour les quatre autres colonnes que vous nommez, respectivement, unitSymbol, unitInterval, baseUnitInterval et unitOffset.

Passez maintenant sur la troisième feuille de calcul; celle que vous avez nommé Calculs. Dans cette feuille, nous allons utiliser les données de l’interface utilisateur :

  • la valeur de la mesure (measure),
  • l’unité de départ (fromUnit),
  • l’unité d’arrivée (toUnit)

pour rechercher dans la table, les intervalles et l’offset correspondant aux unités sélectionnées (toUnit et fromUnit) et faire le calcul de conversion. Pour cela, nous allons commencer par chercher la ligne de la table qui correspond à fromUnit et celle qui correspond à toUnit. La fonction EQUIV sur la plage de cellule unitSymbol fera parfaitement l’affaire.

Fig. 6 – Utilisation de la fonction EQUIV
Fig. 6 – Utilisation de la fonction EQUIV

Une fois que vous avez quelque chose de semblable à la figure 6 (le 4 correpond à la position de l’unité °F et le 2 correspond à celle de l’unité °C), nommez les cellules C3 et C4, fromUnitIndex et toUnitIndex. Nous pouvons utiliser la fonction INDEX pour obtenir les valeurs des différentes collonne comme le montre la figure 7.

Fig. 7 – Utilisation de la fonction INDEX
Fig. 7 – Utilisation de la fonction INDEX

Nommez les cellules D3 et D4, intervalFrom et intervalTo, nommez les cellules E3 et E4, intervalFromBaseUnit et intervalToBaseUnit et, pour finir, nommez les cellules F3 et F4, offsetFrom et offsetTo.

Vous pouvez maintenant vous aidez des formule de la figure 2 pour calculer le résultat et l’afficher dans la cellule D11 de la première feuille de calcul (Conversion).

Pour terminer votre application, utilisez la validation des données sur les cellules D7 et D9 pour permettre à l’utilisateur de choisir les unités dans une liste déroulante, et protégez les feuilles de calcul.

Fig. 7 – Application terminée
Fig. 7 – Application terminée