Nous sommes actuellement le 10 Juil 2026, 21:32

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 19 message(s) ]  Aller vers la page 1, 2  Suivant
Auteur Message
 Sujet du message: Problème en VB
MessagePublié: 31 Mai 2005, 11:32 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
Je veux qu'un simple msg d'erreur apparaissent si l'utilisateur n'entre pas de donnée

voici ma ligne de code

If txt_6 = ??? Then
MsgBox "Veuillez spécifier une série de traverse valide", vbCritical, "Erreur"
Exit Sub
End If

les ??? représente la constante que je ne connais pas

merci :roll:


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 11:38 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Ça valide si la donnée est vide ou non. Ça ne valide pas le format, pour valider le format il faudrait avoir la validation a réaliser. Dépendant du format ça peut demander une fonction a part.
Code :
If len(txt_6) = 0 Then
  MsgBox "Veuillez spécifier une série de traverse valide", vbCritical, "Erreur"
  Exit Sub
End If

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 11:46 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
le "len" c'est quoi ?


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 13:38 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 28 Jan 2003, 18:08
Message(s) : 213
Localisation : Charny
len(), c'est une fonction qui retourne un integer (entier) égal au nombre de caractère dans une string (chaine)

mais je crois que
Code :
If isnull(txt_6) or txt_6 = vbNullstring Then

serais plus efficace!
;)

_________________
Rank

cold silence has a tendency to atrophy any sense of compassion


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 15:30 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
Ok c'est nickel...

question #2

je fait un formulaire sous access mais je veux que la personne n'entre que des chiffres et non des lettres...

If txt_inter_entrée = " " And txt_inter_sortie = " " Then
MsgBox "Veuillez n'entrer que des intervalles en chiffres s.v.p", vbCritical, "Erreur"
Exit Sub
End If

Donc si elle entre une lettre, le msg d'erreur suivant apparait...

comment dire au logiciel de ne pas tenir compte des lettre et de retourner le msg d'erreur. Les " " n'étant ce que je ne sais pas !!!

merci 1000 fois


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 16:38 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Rank a écrit:
len(), c'est une fonction qui retourne un integer (entier) égal au nombre de caractère dans une string (chaine)

mais je crois que
Code :
If isnull(txt_6) or txt_6 = vbNullstring Then

serais plus efficace!
;)


Il y a 2 manières de base pour déterminer si une variable de type string contient du texte: len(x) > 0 et x <> "".

Il ne faut pas utiliser isNull:
Citer:
The Null value indicates that the Variant contains no valid data. Null is not the same as Empty, which indicates that a variable has not yet been initialized. It is also not the same as a zero-length string (""), which is sometimes referred to as a null string.

Même chose pour vbNullString:
Citer:
Not the same as a zero-length string (""); used for calling external procedures.

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 16:46 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Il y a quelques manières. Ça dépend essentiellement de la taille que pourra avoir le chiffre et son format. Une manière très simple serait :

Code :
If isNumeric(txt_inter_entrée) And isNumeric(txt_inter_sortie) Then
 ' Valide
Else
 ' Non valide
End If


Si tu veux que des entiers, tu peux tenter de faire une conversion de type (typecast)

Code :
Private function EstEntier(byval str_Texte as String) as Boolean
  dim lngVal as long
  on error resume next
  lngVal = CLng(txt_inter_entree) 'évite les accents dans les variables

  if err.number <> 0 then
    EstEntier = false
  else
     EstEntier = true
  end if

  ' ou comme ceci: EstEntier = (err.number = 0)
  on error goto 0
end function


Cette fonction n'acceptera pas de très gros chiffres. C'est possible de convertir vers un double et de voir s'il y a des données après le point.

Code :
Private Function EstEntier(ByVal str_Texte As String) As Boolean

    ' Le plus gros nombre qui puisse être valider est un entier contenant un suite de 308 fois le nombre 9
    Dim dblNIP As Double
    On Error Resume Next
    dblNIP = CDbl(str_Texte)
    EstEntier = ((Err.Number = 0) And (dblNIP - Int(dblNIP) = 0))
    On Error GoTo 0

End Function

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 17:15 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
ok merci je vais essayer cela demain au bureau !

et je vous donnent des nouvelles

bye


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 31 Mai 2005, 18:31 
Hors-ligne
Régulier
Régulier
Avatar de l’utilisateur

Inscription : 26 Fév 2003, 12:18
Message(s) : 443
Je vais faire un ajout pour ceux qui codent en .NET

Pour vérifier si une chaine est vide en .NET, la meilleure méthode est d'utiliser string.empty qui est une constante partagé et qui ne demande pas la construction et la destruction d'un objet pour faire la comparaisson.

_________________
Asus A7N8X Deluxe v2.0 | Athlon XP Barton 2500+@3200+ | 1024mo DDR 3200 | BFG Geforce 6600GT 128mo | Western Digital 160go 7200rpm | Maxtor 40go 7200rpm | Altec Lansing ATP4 | Samsung SyncMaster 763MB | Fan CoolerMaster Aero 7+ | Sennheiser HD212 Pro


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 01 Juin 2005, 21:28 
Hors-ligne
Occasionnel
Occasionnel
Avatar de l’utilisateur

Inscription : 06 Fév 2002, 22:42
Message(s) : 185
Localisation : Québec
Pour répondre à ta question #2, tu n'as qu'a spécifier un format nombre (dans la propriété format) et Access va faire tout le travail ! Même chose pour les champs date.

_________________
HTH

:arrow: This posting is provided "AS IS" with no warranties, and confers no rights cr*sse!


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Juin 2005, 08:50 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
ASP Kid a écrit:
Pour répondre à ta question #2, tu n'as qu'a spécifier un format nombre (dans la propriété format) et Access va faire tout le travail ! Même chose pour les champs date.


c-a-d ?

merci


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Juin 2005, 09:02 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Si tu as un formulaire, les textbox ont une liste de propriétés (name, text, top, ... et format)

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Juin 2005, 09:18 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
en effet...

autre question...

pour le If isNumeric

pour un textbox ou les intervalle de nombre sont séparé de virgule et de point

ie:

Veuillez sélectionnner vos formulaires

1,2,3,5,56
ou 1.3.5.6.87.9

le If isNumeric ne fonctionne pas !!

merci


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Juin 2005, 10:34 
Hors-ligne
A réponse à tout!
A réponse à tout!
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 12:16
Message(s) : 2519
Normal
à
1.2.3 c'est pas un numérique.

Fait toi une méthode sur le keyDown

et accepte uniquement les KeyCode entre 48-57 (0 à 9)
ainsi que 188 et 190 . et ,
et 8 (backspace)

_________________
  • Chroniqueur Jeux Vidéo PS2 - PS3 - PSP - GameCube - Wii - Jeux PCJouez.com
  • Champion Pool Hockey Micro.Info 2005-2006 ET 2006-2007


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 02 Juin 2005, 10:58 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 23:24
Message(s) : 1472
Localisation : Québec
JR a écrit:
Normal
à
1.2.3 c'est pas un numérique.

Fait toi une méthode sur le keyDown

et accepte uniquement les KeyCode entre 48-57 (0 à 9)
ainsi que 188 et 190 . et ,
et 8 (backspace)


ok je débute en vba alors si tu voudrais bien me donner une méthode valide je t'en serait reconnaissant

de plus mon texte box n'a pas de fonction keydown, il doit abosolument cliquer sur un bouton "validé"


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 19 message(s) ]  Aller vers la page 1, 2  Suivant

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site