Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[RESOLU] Inputbox avec nombre fractionnaire

  • Initiateur de la discussion Initiateur de la discussion Jo_VBA
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

Jo_VBA

Guest
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:
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+
 
[RESOLU] Re : Inputbox avec nombre fractionnaire

Bonjour Paf,

Merci pour ta réponse rapide !

J'ai pour finir fait comme ceci :

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

Sujet Résolu !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
880
Réponses
9
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…