[RESOLU] Inputbox avec nombre fractionnaire

Jo_VBA

XLDnaute Nouveau
Bonjour,

Dans l'une de mes macros, j'invite l'utilisateur à entrer via un inputbox, un nombre sous forme de fraction (ex: 16/9, 3/4, 5/4, etc...).

Je penssais que ma variable "Ratio" ferait directement le calcul pour enregistrer un nombre à virgule.
Malheureusement, lors du test, ça plante au niveau du Inputbox lorsque je valide avec OK, défaut de type...

Quelqu'un aurait une idée ?

Code:
Dim Ratio As Single
...
If dWidth / dHeight * 9 = 16 And dHeight / dWidth * 16 = 9 Then
    Ratio = 16 / 9
ElseIf dWidth / dHeight * 10 = 16 And dHeight / dWidth * 16 = 10 Then
    Ratio = 16 / 10
ElseIf dWidth / dHeight * 3 = 4 And dHeight / dWidth * 4 = 3 Then
    Ratio = 4 / 3
ElseIf dWidth / dHeight * 4 = 5 And dHeight / dWidth * 5 = 4 Then
    Ratio = 5 / 4
ElseIf dWidth / dHeight * 2 = 3 And dHeight / dWidth * 3 = 2 Then
    Ratio = 3 / 2
Else
    Protect_Unprotect False, 18
    [B]Ratio = InputBox(Worksheets(18).Range("GZ" & LanguageSet).Value, Worksheets(18).Range("HA" & LanguageSet).Value, Worksheets(18).Range("HB" & LanguageSet).Value)[/B]
    Protect_Unprotect True, 18
End If

...

Merci d'avance !
 
Dernière modification par un modérateur:

Paf

XLDnaute Barbatruc
Re : Inputbox avec nombre fractionnaire

Bonjour,

Ratio est défini en single et on lui passe une chaine de caractères ( par ex : 4/5)

Si l'on veut saisir une fraction qui initialisera une variable numérique, une solution possible:

Code:
MaFrac = InputBox("Entrer une fraction")
Ratio = Evaluate(MaFrac)

A+
 

Statistiques des forums

Discussions
312 361
Messages
2 087 627
Membres
103 608
dernier inscrit
rawane