Bonjour à tous,

Je suis sur la création d'un utilitaire pour mon entreprise.

Je suis face à un problème que je n'arrive pas à résoudre.

Il s'agit de créer une bibliothèque de gaz.
Voici le principe: L'utilisateur clique sur un bouton de contrôle classique et doit ensuite rentrer un certains nombre d'informations sur le gaz pour l'ajouter à la bibliothèque.
Voici mon problème: lors de la rentré d'un nombre dans l'InputBox, si ce nombre contient plus de 2 chiffres après la virgules, l'écriture dans une cellule de la variable qui contient l'information se transforme en texte. (ex: 1,0025 devient 10025).
Je ne peux déclarer ma variable en tant que nombre car je test si l'utilisateur rentre un nombre.
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
sub test ()
Do
MasseMolaire = InputBox("Masse molaire du gaz en gramme par mol [g/mol] :", "Masse molaire", ".,...")
 
If IsNumeric(MasseMolaire) = False And MasseMolaire <> "" Or MasseMolaire < 0 Then
    If MasseMolaire < 0 Then
    MsgBox "La valeur ne peut être inférieur 0", vbOKOnly, "Valeur nul"
    End If
 
    If IsNumeric(MasseMolaire) = False And MasseMolaire <> "" Then
    MsgBox "Erreur: Le champs que vous avez saisi n'est pas un nombre." & Chr(10) & " ( vérifier que le séparateur décimale est une , et non un . )", vbOKOnly, "Erreur"
    End If
Else
    If MasseMolaire = "" Then
    Exit Sub
    End If
Exit Do
 
End If
Loop
 
Cells(1,1)=MasseMolaire
 
end sub
La, je bloque depuis deux jours dessus. Quelqu'un serait comment y remédier? Il est possible de revoir tout le code.