begin process at 2012 02 15 02:06:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Detecter un integer


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Detecter un integer

mercredi 15 décembre 2004 à 17:07:49 | Detecter un integer

arbomont

Je voudrais créé une condition qui signale une erreur si elle detecte autre chose qu'un entier dans une variable.
J'avais fait ceci :

If Variable = "" Or somme <= 0 Or somme > 9999 Then
message = "Veuillez saisir un entier valide"
titre = "Erreur"
Float = MsgBox(message, 10, titre)
Exit Sub

Mais si Variable contient par exemple une chaine de caractere, la detection ne marche pas et le programme plante.

Comment faire ?

Merci

JC
mercredi 15 décembre 2004 à 17:14:01 | Re : Detecter un integer

barley

if int(variable) <>variable then
msgbox "la variable n'est pas un entier"
end if

essaye ca, je ne sais pas si c'est la meilleur solution mais ca doit marcher...
a voir
mercredi 15 décembre 2004 à 17:22:02 | Re : Detecter un integer

arbomont

Et non cela ne marche pas, j'ai un plantage :

"erreur d'execution '13'
Type incompatible"

JC
mercredi 15 décembre 2004 à 17:25:34 | Re : Detecter un integer

barley

heu, apres avoir relu, ma solution ne peut pas marcher, tu veux aussi que ca marche pour les caractères, donc ca colle pas...

sinon, vu le message d'erreur que tu veux afficher, il semblerait que tu veuille limiter la saisie dans un textbox ou autre composant par des nombres entiers

Tu peux faire cela, il y a des sources qui te disent comment ici...


Option Explicit
'# Déclaration de quelques API
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Const ES_NUMBER As Long = &H2000&
Private Const GWL_STYLE As Long = -16

Private Sub Form_Load()
MakeNumericOnly Text1' si c'est le textbox text1
End Sub

Private Sub MakeNumericOnly(Obj As Object)
'# Cette variable contiendra le Style de notre Controle :
'# il s'agit d'une combinaison de differentes valeurs...
Dim Style As Long

'# On récupère le style actuel
Style = GetWindowLong(Obj.hwnd, GWL_STYLE)

'# On ajoute le style ES_NUMBER...
Style = Style Or ES_NUMBER

'# et on replace le tout dans le Controle
SetWindowLong Obj.hwnd, GWL_STYLE, Style
End Sub

sympa, on dit merci a renfield

il doit y en avoir d'autres, je le site parce que je trouve qu'il le merite bien en passant
allez, bonne chance a toi, en esperant que ca t'aide un peu
mercredi 15 décembre 2004 à 17:32:34 | Re : Detecter un integer

arbomont

ça a l'air bien compliqué, je croyais qu'il y avait une fonction standard qui permettait de le faire.

Effectivement, il s'agit d'une textbox, qui renvoi une somme à une base de donnée. Il faut donc interdire une autre entrée qu'un entier

Je vais quand meme essayer...

JC
mercredi 15 décembre 2004 à 17:38:01 | Re : Detecter un integer

trabice

si je comprend bien tu ve juste pouvoir rentrer un integer dans un textbox?
pas de caractère?
et controler la longeur?
t'as des nombres négatifs possible??
mercredi 15 décembre 2004 à 17:38:51 | Re : Detecter un integer

trabice

si je comprend bien tu ve juste pouvoir rentrer un integer dans un textbox?
pas de caractère?
et controler la longeur?
t'as des nombres négatifs possible??
mercredi 15 décembre 2004 à 17:44:46 | Re : Detecter un integer

arbomont

non pas de nombre negatif possible, juste un entier positif

JC
mercredi 15 décembre 2004 à 18:14:14 | Re : Detecter un integer

Gobillot



Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim p As Integer
Dim z As Integer
Select Case KeyAscii
Case 8:
Case 48 To 57:
p = Text1.SelStart
z = Len(Text1) - p
If Val(Left$(Text1, p) & Chr$(KeyAscii) & Right$(Text1, z)) > 9999 Then KeyAscii = 0
Case Else: KeyAscii = 0
End Select
End Sub


Daniel
mercredi 15 décembre 2004 à 18:18:27 | Re : Detecter un integer

trabice

moi j'utilise ca
ds keypress tjs

If KeyAscii = &H8 Then
Exit Sub
End If
If KeyAscii = vbKeyReturn Then
KeyAscii = 0
Call Command1_Click ' par ex
Exit Sub
End If
If KeyAscii > 47 And KeyAscii < 58 Then
Else
KeyAscii = 0
End If

et puis mets ta propriété ds ta textbox maxlength à (nbe de chiffres max ds un integer)

1 2

Cette discussion est classée dans : variable, erreur, entier, integer, detecter


Répondre à ce message

Sujets en rapport avec ce message

Identifier à quel type une variable appartient [Help me] [ par vbtom ] Bonjour, Comment puis-je savoir à quel type une variable appartient? 'J'ai ça dans un modulePublic Type Document BackGroundColor As ColorConstant probleme avec une requete SQL !!!! [ par skaferadics ] voila mon probleme se produit lorseque je veux executer une requete, voici ma requete:reqsup.SQL = "delete * from pratiquer where [num adher]=" + zt_n Requete insert avec variable de type entier [ par crapaud ] Bonjour, je voudrais insérer dans une base access2000, une ligne contenant des entiers.Voici le code Dim Entier as Integer dim txtNom as StringEntier variable = nbre entier positif [ par Saeko ] comment faut-il faire pour avoir une variable entière et positive ?merci d'avance de votre réponse (si possible avec un exemple) Convertir un integer en string [ par Pegase25 ] Bonjour,j'arrive pas a convertir un interger en string sous Visual Basic.J'ai essayer de déclarer une variable string et de lui affecter la valeur de Pb !!! ERREUR EXECUTION N°5 [ par Spe6men ] Bonjour a tous Je ne cherche pas vraiment a realiser un prog de cryptage mis Je voudrai juste comprendre d ou vien cet erreur Voila la source Module1 variables sur plusieurs feuilles [ par marco59 ] Salut à vous,Je suis un novice dans VB et j?ai un problème de variables qu?il faut que je déclare dans plusieurs feuilles. EX :Form1 :Public variable


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,819 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales