Bernard38
XLDnaute Nouveau
Hello le forum, c'est re-moi ![Smile :) :)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
J'ai trouvé une solution mais par curiosité, savez-vous pourquoi ma variable me donne une incompatibilité de type dans ce cas :
- j'ai un userform qui récupère une valeur saisie par l'utilisateur qui peut être un nombre à virgule c'est Me.txt_Pcol_Tx1_Cotise (textbox donc valeur = string)
- j'ai une variable déclarée en Double : dblTxCot
- je souhaite récupérer la valeur de la textbox dans cette variable sachant que l'utilisateur peut avoir mis un "." si c'est un chiffre à virgule. Il faut impérativement que la variable du double car elle va être utilisée plus tard dans un calcul.
Dans mon test, ma valeur de textbox est "1.2"
Je pensais que le code suivant était bon... et ça plante avec une incompatibilité de type :
If Me.txt_Pcol_Tx1_Cotise = "" Then dblTxCot = 0 Else dblTxCot = CDbl(Replace(Me.txt_Pcol_Tx1_Cotise, ".", ","))
Mais je suis obligé de déclarer ma variable en Variant et de mettre le code comme ça :
If Me.txt_Pcol_Tx1_Cotise = "" Then dblTxCot = 0 Else dblTxCot = Me.txt_Pcol_Tx1_Cotise.Value: dblTxCot = CDbl(Replace(dblTxCot, ".", ","))
J'ai râté un truc qq part ou c'est normal ?![Visage pensant :thinking: 🤔](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f914.png)
Merci ++
J'ai trouvé une solution mais par curiosité, savez-vous pourquoi ma variable me donne une incompatibilité de type dans ce cas :
- j'ai un userform qui récupère une valeur saisie par l'utilisateur qui peut être un nombre à virgule c'est Me.txt_Pcol_Tx1_Cotise (textbox donc valeur = string)
- j'ai une variable déclarée en Double : dblTxCot
- je souhaite récupérer la valeur de la textbox dans cette variable sachant que l'utilisateur peut avoir mis un "." si c'est un chiffre à virgule. Il faut impérativement que la variable du double car elle va être utilisée plus tard dans un calcul.
Dans mon test, ma valeur de textbox est "1.2"
Je pensais que le code suivant était bon... et ça plante avec une incompatibilité de type :
If Me.txt_Pcol_Tx1_Cotise = "" Then dblTxCot = 0 Else dblTxCot = CDbl(Replace(Me.txt_Pcol_Tx1_Cotise, ".", ","))
Mais je suis obligé de déclarer ma variable en Variant et de mettre le code comme ça :
If Me.txt_Pcol_Tx1_Cotise = "" Then dblTxCot = 0 Else dblTxCot = Me.txt_Pcol_Tx1_Cotise.Value: dblTxCot = CDbl(Replace(dblTxCot, ".", ","))
J'ai râté un truc qq part ou c'est normal ?
![Visage pensant :thinking: 🤔](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f914.png)
Merci ++
Dernière édition: