« Macros-commandes VBA/Exercices/Convertisseur Euro-Franc » : différence entre les versions

Contenu supprimé Contenu ajouté
réintégration d'exercice au plan
qualification d'exercice
Ligne 15 :
'''Enoncé:'''
 
* Créer une nouvelle macro convertisseureurofranc
* Saisir une question dans une boite de dialogue type Message Box pour l’utilisateur (par exemple Saisir le montant en euro)
* Saisir la question adressée à l’utilisateur via une boite de dialogue : "Saisir votre montant en euros : "
* Insérer un bouton convertissant les données entrées sur la macro en Francs (soit une multiplication par 6,55957)
* Récupérer la réponse de l'utilisateur dans une variable nommée montanteneuro
* Affecter à ce bouton une macro enregistrée sous le nom « convertisseureurofranc » qui devra contenir une input box dans laquelle les données seront insérées pour être converties dans la cellule concernée par la macro.
* Ranger montanteneuro dans une variable montantenfranc
* Ne pas oublier de définir un format monétaire adapté.
* Multiplier montantenfranc par 6.55957
* Faire apparaitre le résultat dans une cellule précise.
* Afficher la réponse adressée à l’utilisateur via une boite de dialogue : "Le montant correspondant en francs est : montantenfranc"
}}
 
{{solution| contenu =
 
Aller sous EXCEL sur l'onglet développeur, créer une macro nommée convertisseureurofranc, puis :
 
* Pour déclarer vos variables entrer les 2 lignes de codes suivantes :
Voici la procédure à suivre:
** entrer une première ligne de code : Dim montanteneuro As Currency
 
** entrer une seconde ligne de code : Dim montantenfranc As Decimal
* Aller dans l'onglet développeur
* Pour saisir une réponse, effectuer un calcul puis afficher le résultat, entrer les 3 lignes de codes suivantes :
* Faire un enregistrement quelconque
** Définissez votre boite de saisie : montanteneuro = InputBox("Saisir votre montant en euros : ")
* Modifier cet enregistrement de la façon suivante
** Effectuer votre calcul : montantenfranc = montanteneuro * 6.55957
* Déclarez votre macro en la nommant convertisseurfranceuro
** Afficher le résultat avec une boite d'affichage : MsgBox("Le montant correspondant en francs est : " & montantenfranc ,"Convertisseur €-Fr")
* Pour définir vos variables, tapez une première ligne : Dim euro As Single puis une seconde : Dim i As Single pour avoir des variables à décimale avec une possibilité de négatif.
* Pour la messagebox, tapez par exemple : MsgBox "Convertisseur €-Fr"
* Définissez votre messagebox par les messages suivants : euro = InputBox("Tapez la somme en Euro!") suivi de : i = 6.55957
* Pour sélectionner la cellule sur laquelle la macro agira (par exemple la cellule F3) tapez : Range("F3").Select
* Ensuite, déterminez les termes de votre macro : Selection.Value = euro * i qui consiste à convertir la valeur euro tapée dans la messagebox en francs par la somme définie par i précédemment
* Enfin, définissez le format par : Selection.NumberFormat = "[$fr.-100C] #,##0.00" pour avoir deux décimales arrondies et en franc.
 
<source lang=vb>
Sub convertisseureurofranc()
Dim euromontanteneuro As SingleCurrency 'SingleCurrency est important pour pouvoir saisir desun format chiffresmonétaire àen virguleseuros
Dim montantenfranc As Decimal 'Decimal permet aussi le format décimal (mais pas obligatoirement en euros)
Dim i As Single 'Même raison qu'auparavant pour Single, la variable i= 6.55957 est arrondi à 7 si on utilise Byte par exemple
montanteneuro = InputBox("Saisir votre montant en euros : ") 'votre utilisateur doit saisir un montant
MsgBox "Convertisseur €-Fr" 'Le message annonçant la macro
montantenfranc = montanteneuro * 6.55957 'le montant en franc est calculé
euro = InputBox("Tapez la somme en euros!") 'Indication pour l'utilisateur de ce qu'il devra faire
MsgBox("Le montant correspondant en francs est : " & montantenfranc, "Convertisseur €-Fr") 'le résultat est affiché
i = 6.55957
End Sub
Range("F3").Select 'Il s'agit de la cellule de destination
Selection.Value = euro * i 'Le calcul effectué, à savoir la valeur tapé dans la inputbox divisé par i ici il s'agit de 6.55957
Selection.NumberFormat = "[$fr.-100C] #,##0.00" 'Il s'agit du format franc, comme le franc Français n'existe plus nous avons ici le format franc Suisse.
End Sub
</source>
{{Clr}}
{{Utilisateur:Mamagalubru/Cadre Remarque|remarque="Vous voici maintenant en possession d'un convertisseur dont vous pouvez décliner les fonctions à l'infini avec tous types de monnaie si vous connaissez les taux de changes. "}}
 
 
Vous voici maintenant en possession d'un convertisseur dont vous pouvez décliner les fonctions à l'infini avec tous types de monnaie si vous connaissez les taux de changes.
}}