ElseIf VarType(n) = vbInteger
If Not IsNumeric(txt_node.Text) Then MsgBox ("enter a number") Exit Sub End If
Private Sub cmd_node_Click() n = Val(txt_node.Text) 'si la valeur est négative je demande à l'utilisateur si il n'a pas mis le - en trop si il dit oui je remet la valeur sans le moins. jusque la ça fonctionne If n < 0 Then b = -n If MsgBox("did you mean" & Str(b) & "?", vbYesNo) = vbYes Then txt_node.Text = b n = b 'la si la valeur anciennement négative est supérieur a 100 je demande a l'utilisateur si c'est normal. si l'utilisateur est sur alors je dégrise les cases nécessaires pour la suite de la procédure. jusque la ça fonctionne If n > 100 Then If MsgBox("That's a lot of nodes! Are you sure?", vbYesNo) = vbYes Then lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(1 To n) ReDim ynode(1 To n) Else txt_node.Text = "" End If Else lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(1 To n) ReDim ynode(1 To n) End If Else txt_node.Text = "" End If 'c'est ça qui ne marche pas si je met 9 il ne dégrise pas les cases suivante le label et les deux zones de texte... ElseIf VarType(n) = vbDouble Then If txt_node.Text = "" Then MsgBox "No node entered!" ElseIf n > 100 Then If MsgBox("That's a lot of nodes! Are you sure?", vbYesNo) = vbYes Then lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(1 To n) ReDim ynode(1 To n) txt_node.Text = "" End If Else nodenbr = n lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(1 To n) ReDim ynode(1 To n) End If 'ça ça à l'air de fonctionner puisque quand je mets une lettre il affiche la msgbox ElseIf Not IsNumeric(txt_node.Text) Then MsgBox ("Please enter a positive integer.") txt_node.Text = "" End If End Sub
Private Sub cmd_node_Click() n = Val(txt_node.Text) 'verifie si le texte est numerique If Not IsNumeric(txt_node.Text) Then MsgBox ("enter a positive number") Exit Sub End If 'verifie si le nombre est negatif If MsgBox("did you mean" & str(txt_node.Text) & "?", vbYesNo) = vbYes Then MsgBox ("enter a positive number") Exit Sub End If 'si j'arrive ici donc j'ai un nombre positif If n > 100 Then If MsgBox("That's a lot of nodes! Are you sure?", vbYesNo) = vbYes Then lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(0 To n) ReDim ynode(0 To n) Else txt_node.Text = "" End If Else lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(0 To n) ReDim ynode(0 To n) End If End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub cmd_node_Click() n = Val(txt_node.Text) 'verifie si le texte est numerique If Not IsNumeric(txt_node.Text) Then MsgBox ("enter a positive number") Exit Sub End If 'verifie si le nombre est entier positif If Abs(n - Int(n)) > 0 Then MsgBox ("enter a positive number") Exit Sub End If 'verifie si le nombre est negatif If MsgBox("did you mean" & str(txt_node.Text) & "?", vbYesNo) = vbYes Then MsgBox ("enter a positive number") Exit Sub End If 'si j'arrive ici donc j'ai un nombre positif If n > 100 Then If MsgBox("That's a lot of nodes! Are you sure?", vbYesNo) = vbYes Then lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(1 To n) ReDim ynode(1 To n) Else txt_node.Text = "" End If Else lbl_nodecoor.Enabled = True Txt_node_x.Enabled = True txt_node_y.Enabled = True ReDim xnode(1 To n) ReDim ynode(1 To n) End If End Sub