Test logique faux

Bonjour à tous,

Je suis dans une impasse ....

J'ai une vague idée de mon problème mais je ne sais pas comment le résoudre.

Je m'en remets donc à des spécialistes !

Voilà , j'ai réalisé un userform dans lequel j'ai une textbox à la validation voici ce que j'ai écrit.

If TextBox42.Value = "" Then

Range("Decpt_jrs_prime").Select

ActiveCell.FormulaR1C1 = "0"

Else

Range("Decpt_jrs_prime") = UserForm1.TextBox42

End If

A savoir que j'ai nommé la cellule dans laquelle je souhaite reporter la valeur rentrée dans ma texte box "Decpt_jrs_prime"

Jusque là, la valeur est bien reportée, c'est après que ça se gâte.

Dans une autre cellule de mon fichier, je me sers de cette valeur pour réaliser un calcul, sauf que le test logique met "vrai" alors que le test logique réalisé devrait me donner le résultat "faux".Ce qui a pour effet de tronqué mon calcul.

Voici la formule

=SI(Decpt_jrs_prime>=91;selection_prim_ete*D28-selection_prim_ete*D28*(Decpt_jrs_prime/365);selection_prim_ete*D28)

Si je le fais manuellement en retapant moi même la valeur dans la cellule nommée "Decpt_jrs_prime", le calcul s'effectue correctement.

J'ai l'impression que la valeur reportée issue de la textbox est renvoyée comme étant du texte et non un chiffre.

Une petite idée ?

MERCI

Bonsoir Alcor98,

la valeur reportée issue de la textbox est renvoyée comme étant du texte et non un chiffre

Essaie ainsi:

Range("Decpt_jrs_prime") = UserForm1.TextBox42*1

Range("Decpt_jrs_prime") = cdbl(UserForm1.TextBox42)

Cordialement,

Merci , j'ai utilisé la formule

Range("Decpt_jrs_prime") = UserForm1.TextBox42*1

As tu une petite explication sur cette correction pour ma gouverne

Pourquoi le rajout de *1

Un grand merci d'avance

Cordialement

Re,

Le fait de multiplier par 1 convertit ta valeur en nombre....astuce que j'avais trouvé sur le forum...

Sinon, tu peux convertir la valeur de ta textbox ....https://docs.microsoft.com/fr-fr/office/vba/language/concepts/getting-started/type-conversion-functions

Cordialement,

Ps: As-tu des nouvelles du prince d'Euphor ?

Merci bonne soirée

Super !!!

Non , pas eu de nouvelle du prince . Pas revenu de mission....

Bonjour,

par ailleurs avec :

ActiveCell.FormulaR1C1 = "0"

tu envoies le texte "0" et non le nombre 0 qui doit s'écrire sans " ".

.Value serait plus adapté que .FormulaR1C1 même si les 2 fonctionnent. Pour la clarté du code.

eric

Rechercher des sujets similaires à "test logique faux"