Microsoft 365 vba : pb format de variable

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 !

Bernard38

XLDnaute Nouveau
Hello le forum, c'est re-moi 🙂
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 ? 🤔
Merci ++
 
Dernière édition:
Bonjour Bernard38

Si vous avez déclaré votre variable au bon endroit, il ne doit pas y avoir d'erreur 🤔

Voici ce que j'ai fait et testé sans problème
VB:
Option Explicit

Dim dblTxCot As Double

Private Sub txt_Pcol_Tx1_Cotise_Exit(ByVal Cancel As MSForms.ReturnBoolean)
  If Me.txt_Pcol_Tx1_Cotise = "" Then dblTxCot = 0 Else dblTxCot = CDbl(Replace(Me.txt_Pcol_Tx1_Cotise, ".", ","))
End Sub

A+
 
- 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

Discussions similaires

Réponses
4
Affichages
142
Réponses
2
Affichages
400
Retour