Médiaforma

posts

Le taux des devises change en permanence. Si vous utilisez une formule statique, comme pour la conversion de Fahrenheit en degrés Celsius, le résultat sera forcément erroné, à moins que vous ne mettiez à jour les taux au jour le jour. Cette section va vous montrer comment utiliser un site Web pour avoir des taux toujours à jour. Ici, nous convertirons des euros en dollars.

Allez sur le site https://www.boursorama.com/bourse/devises/convertisseur-devises/ (ou un autre site de conversion de devises), puis copiez l’URL de cette page dans le presse-papiers :

Basculez sur l’onglet Données. Dans le groupe Récupérer et transformer, cliquez sur Nouvelle requête, pointez A partir d’autres sources, puis cliquez sur A partir du Web. Entrez l’adresse https://www.boursorama.com/bourse/devises/convertisseur-devises/ et validez en cliquant sur OK :

Si une boîte de dialogue vous invite à vous connecter, cliquez sur Se connecter. Quelques instants plus tard, lorsque la connexion avec le serveur a été établie, la liste des tables de conversion du site est accessible :

Cliquez sur Table 1 (si vous choisissez un autre site Web ou si vous convertissez d’autres devises, les taux de changes se trouveront certainement dans une autre table) :

Cliquez sur Charger. Quelques instants plus tard, la table de conversion est chargée dans une nouvelle feuille de votre classeur :

Pour convertir en dollars un montant exprimé en euros, vous allez vous servir du taux de change de la cellule B2. Ici, le tableau de conversion a été stocké dans la feuille Feuil3.

Si vous essayez d’utiliser la formule =A5*Feuil3!B2, vous obtenez une erreur :

En effet, la cellule B2 de la feuille Feuil3 contient la chaîne 1.14165 USD. Impossible de multiplier cette chaîne par une valeur numérique !

Vous devez supprimer le suffixe USD et remplacer le point décimal par une virgule. Pour cela, vous utiliserez cette formule :

=A5*SUBSTITUE(GAUCHE(Feuil3!B2;CHERCHE(" ";Feuil3!B2)-1);".";",")

La fonction GAUCHE() retourne la partie numérique de la cellule B2 de la feuille Feuil3. Cette fonction demande deux paramètres :

  • La cellule sur laquelle travailler. Ici, la cellule B2 de la feuille Feuil3.
  • Le nombre de caractères à extraire. Ici, on utilise la fonction CHERCHE() pour trouver la position de l’espace dans la cellule B2. En enlevant 1, on obtient le nombre de caractères à extraire.

La fonction SUBSTITUE() remplace le caractère « . » par le caractère « ,« .

Le résultat est bien celui qui était attendu :

Pour que le taux de change soit mis à jour automatiquement, sélectionnez la feuille qui contient le tableau de change, basculez sur l’onglet Données, puis cliquez sur l’icône Propriétés dans le groupe Connexions. La boîte de dialogue Propriétés des données externes s’affiche. Cliquez sur l’icône Paramètres de connexion :

La boîte de dialogue Propriétés de connexion s’affiche. Cochez les cases Actualiser toutes les et/ou Actualiser les données lors de l’ouverture du fichier pour déterminer le mode d’actualisation des données :

Refermez toutes les boîte de dialogue ouvertes. Avec ce réglage, le taux de change sera automatiquement mis à jour à l’ouverture du classeur et toutes les 60 minutes.

Les données d’une plage peuvent être représentées par des barres horizontales, de plus ou moins grande ampleur selon leurs valeurs.

async function dataBar() {

  await Excel.run(async (context) => {

    const plage = context.workbook.worksheets.getActiveWorksheet().getRange("B2:C5");

    const condFormat = plage.conditionalFormats.add(Excel.ConditionalFormatType.dataBar);

  });

}

Après avoir récupéré la plage sur laquelle sera appliquée la mise en forme conditionnelle :

const plage = context.workbook.worksheets.getActiveWorksheet().getRange("B2:C5");

On lui ajoute une mise en forme conditionnelle de type dataBar :

const condFormat = plage.conditionalFormats.add(Excel.ConditionalFormatType.dataBar);

Voici le résultat :

Pour insérer un effet typographique dans une diapositive, lancez la commande Fontwork dans le menu Insertion ou cliquez sur l’icône Fontwork dans la barre d’outils Standard. La boîte de dialogue Galerie Fontwork s’affiche. Sélectionnez un des effets proposés et cliquez sur OK pour l’insérer dans la diapositive :

L’effet est inséré dans la diapositive, entouré de poignées de redimensionnement. Utilisez ces poignées pour lui donner la taille voulue :

Pour remplacer le texte par défaut (FontWork) par un autre texte quelconque, double-cliquez sur l’effet. Le texte de l’effet s’affiche. Remplacez-le par un autre texte :

Double-cliquez en dehors de l’effet pour prendre en compte le nouveau texte :

Si les effets proposés par défaut ne vous suffisent pas, vous pouvez les personnaliser en utilisant la barre d’outils Fontwork. Cliquez sur l’effet. Si la barre d’outils Fontwork n’est pas affichée, déroulez le menu Affichage, pointez l’entrée Barres d’outils et cliquez sur Fontwork :

L’icône Forme Fontwork permet d’affecter une autre forme à l’effet typographique :

Voici l’allure de l’effet Incliné vers le haut :

En utilisant les autres icônes de la barre d’outils Fontwork, vous pouvez donner la même hauteur à toutes les lettres, choisir l’alignement du texte, ou encore modifier l’espacement entre les caractères.

Pour ouvrir une image stockée sur une de vos unités de masse, lancez la commande Ouvrir dans le menu Fichier, cliquez sur l’icône Ouvrir de la barre d’outils ou utilisez le raccourci clavier Ctrl+O. Quelle que soit la technique utilisée, la boîte de dialogue Ouvrir s’affiche. Lorsque vous cliquez sur un fichier, la boîte de dialogue Ouvrir donne des informations sur l’image correspondante. Sans ouvrir l’image, vous connaissez :

  • sa taille en pixels ;
  • son nombre de couleurs : ici, l’image est codée sur 24 bits, ce qui représente 2^24 couleurs, soit 16 millions de couleurs ;
  • son poids en Kilo-octets ou en Méga-octets ;
  • sa date de création ou de dernière modification.

Cliquez sur Ouvrir pour ouvrir l’image dans la zone de travail.

Remarques

  • De très nombreux types de fichiers sont supportés par PhotoFiltre. Déroulez la liste Types de fichiers pour en avoir un aperçu :

  • PhotoFiltre mémorise le dossier de recherche et le propose par défaut lorsque vous ouvrez une nouvelle image.

Des erreurs peuvent parfois apparaître lors de l’exécution d’un code VBA. Si vous ne mettez pas en place un gestionnaire d’erreur, une boîte de dialogue peu esthétique stoppera net le fonctionnement du programme.

Mise en place d’un gestionnaire d’erreurs

Pour définir un gestionnaire d’erreurs dans une procédure, vous utiliserez une instruction On Error GoTo. Voici un exemple de code :

Sub uneProcedure()

  On Error GoTo gestionErreurs

  Dim a As Integer

  a = 1 / 0

gestionErreurs:

  MsgBox "Erreur n° " & Err.Number & vbLf & Err.Description

End Sub

Et voici le résultat :

Ici, on tente d’affecter la valeur 1/0 à la variable Integer a. Ce qui produit une erreur 11 : Division par zéro.

Annulation du gestionnaire d’erreurs

A tout moment, vous pouvez désactiver le gestionnaire d’erreur mis en place par une instruction On Error GoTo. Pour cela, il suffit d’utiliser cette instruction :

On Error GoTo 0

Examinez ce code :

Sub uneProcedure()

  On Error GoTo gestionErreurs

  Dim a As Integer

  a = 1 / 0

gestionErreurs:

  MsgBox "Erreur n° " & Err.Number & vbLf & Err.Description

  On Error GoTo 0

  a = 2 / 0

End Sub

La première division par zéro provoque l’exécution du gestionnaire d’erreurs. Ce dernier :

  • affiche un message d’erreur ;
  • désactive le gestionnaire d’erreur ;
  • lance intentionnellement une instruction qui provoque une erreur.

Voici le résultat :

Le deuxième message d’erreur est beaucoup moins engageant que le premier !

Reprise de l’exécution

Placée dans le gestionnaire d’erreurs, l’instruction Resume reprend l’exécution sur l’instruction qui a provoqué une erreur.

Examinez ce code :

Sub uneProcedure()

  On Error GoTo gestionErreurs

  Dim a As Integer

  a = InputBox("Entrez un entier")

  End

gestionErreurs:

  MsgBox "Vous devez saisir un entier"

  Resume

End Sub

Ici, la saisie de l’utilisateur est affectée à une variable de type Integer. Si l’utilisateur n’entre pas un nombre entier, une erreur se produira, et le gestionnaire d’erreurs sera exécuté.

Dans ce cas, un message d’erreur demandant à l’utilisateur de saisir un entier sera affiché et l’instruction Resume provoquera la réexécution de la ligne :

a = InputBox("Entrez un entier")

Si l’utilisateur entre un nombre entier, l’instruction qui suit le InputBox() sera exécutée et la procédure se terminera.

Poursuite de l’exécution

Plutôt que d’indiquer un gestionnaire d’erreurs dans l’instruction On Error GoTo, vous pouvez demander d’ignorer l’erreur et d’exécuter la ligne suivante :

On Error Resume Next

Par exemple, pour tester si la feuille « F3 » existe dans le classeur courant, vous pourriez utiliser ce code :

Sub uneProcedure()

  Dim feuille As Worksheet

  On Error Resume Next

  Set feuille = Worksheets("F3")

  If feuille Is Nothing Then

    MsgBox "La feuille ""F3"" n'existe pas"

  Else

    MsgBox "La feuille ""F3"" existe"

  End If

End Sub

L’instruction

On Error Resume Next

fait en sorte que le code ne s’arrête pas sur une erreur d’exécution. L’erreur est purement et simplement ignorée et l’exécution se poursuit sur la ligne suivante.

L’instruction

Set feuille = Worksheets("F3")

tente d’affecter à la variable feuille la feuille F3. Si cette feuille n’existe pas, l’erreur est ignorée (grâce à l’instruction On Error Resume Next) et l’instructions suivante s’exécute.

Ici, on teste si la variable feuille fait ou ne fait pas référence à une feuille :

If feuille Is Nothing Then

Else

End If

Selon le résultat du test, un message ou un autre est affiché avec une instruction MsgBox().

Avec Excel, il est très simple de convertir des unités de mesure en utilisant la fonction CONVERT(). A titre d’exemple, nous allons convertir des Fahrenheit en Degrés et des Degrés en Fahrenheit.

Cliquez sur la cellule où doit se faire la conversion. Tapez =CONVERT(. Désignez :

  • La cellule à convertir.
  • L’unité d’origine en choisissant une entrée dans la liste ou en la saisissant directement entre guillemets.
  • L’unité finale en choisissant une entrée dans la liste ou en la saisissant directement entre guillemets.

Fermez la parenthèse et appuyez sur la touche Entrée du clavier pour obtenir le résultat :

La conversion inverse ne pose aucun problème. Cliquez dans la cellule où doit se faire la conversion. Tapez =CONVERT(. Désignez :

  • La cellule à convertir.
  • L’unité d’origine en choisissant une entrée dans la liste ou en la saisissant directement entre guillemets.
  • L’unité finale en choisissant une entrée dans la liste ou en la saisissant directement entre guillemets.

Fermez la parenthèse et appuyez sur la touche Entrée du clavier pour obtenir le résultat :

D’un simple clic, vous pouvez créer des graphiques de prévision afin d’avoir une idée précise des prochaines tendances. Cette fonctionnalité utilise un algorithme de lissage exponentiel standard qui fournit des données prévisionnelles fiables.

A titre d’exemple, nous allons utiliser des données qui représentent les chiffres de vente mensuels d’une société, entre les mois de Janvier et de Mars 2019. Pour obtenir les prévisions pour les mois à venir, cliquez sur une cellule de données, basculez sur l’onglet Données dans le ruban et cliquez sur l’icône Feuille de prévision dans le groupe Prévision.

Les prévisions de vente sont représentées par un trait orange épais et les limites de confiance inférieure et supérieure par des traits orange maigre.