[VB.NET] problème textbox

Re bonjour,

Sur un projet VB.net, j'ai une textbox qui renvoi le résultat d'une formule avec un diviseur, ce diviseur est donné par l'entrée de data dans un autre textbox, jusqu'à la tout va bien, mais si l'utilisateur doit refaire le calcul, quand il efface la textbox contenant le diviseur, le programme plante car la division par zéro (ou rien) est impossible.

Je crois savoir qu'il existe des msgbox ou fonction qui peuvent éviter ce genre d'erreur, en connaissez vous ?.

Merci

Cordialement

Pierre

Bonjour

Les macros ce n'est pas trop mon truc, mais j'ai lu un fil récent (hier ?) qui parlait du même type de problème à cause d'une cellule qui pouvait être vide.

La solution apportée a été de commencer le code par :

If .... > 0 Then

Le code

End if

Amicalement

Nad

Je te remercie de ta réponse Nad,

j'avais lu aussi, il y a qqles temps, qu'il y avait une fonction spécifique pour ça, j'essaye de la retrouver, mais en vain pour l'instant, je ne désespère pas .... encore.

SI je trouve, je posterai la réponse.

A bientôt

Pierre

Re-,

avec IsEmpty, ou Not IsNuméric

mais ça permet la saisie d'un zéro

le mieux, c'est de faire comme le préconise Nad :

If Val(Me.TextBox2) > 0 Then
'ton code
End If

Re Felix

Je vais essayer cette condition, mais je continu mes recherches sur les messages d'erreur automatique, je vous tiens au courant.

Merci.

Pierre

Bonsoir,

Tu penses peut-être à l'instruction : On Error Resume Next qui annule l'erreur produite.

Re-,

readi

l'instruction que tu mentionnes est à manier avec d'extrêmes précautions...

On Error Resume Next 

Si tu connais l'erreur à venir, et que tu la maitrises, tu peux l'utiliser....

Sinon, Mef.....

Solution bien agréable, mais souvent improductive....

Bonne soirée

Bonsoir Felix,

Je te remercie. Je sais très bien que cette instruction est à éviter en programmaton.

PierreL ne se rappelle pas du nom de l'instruction donc, c'était pour l'aider dans sa réflexion.

Re bonjour,

J'ai retrouvé la formule.

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox_D1.TextChanged
        Try
            d1 = TextBox_D1.Text
        Catch ex As Exception
            MsgBox("Numeric value only", MsgBoxStyle.Information)

        End Try
    End Sub

c'est le Try, et le catch ex As Exception, si la valeur n'est pas numérique, le msgbox s'ouvre.

Je me souvenais d'un truc comme ça, par contre la c'est du VB 2008 (que j'ai sur le portable), je pense que ça doit exister aussi en VB6 (que j'ai au boulot)

Cordialement, et merci pour vos aides.

Pierre.

Rechercher des sujets similaires à "net probleme textbox"