![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: février 2008
Messages: 4
|
Bonjour,
supposons que je veux vérifier si la valeur d'un string est numérique ( un chiffre) ou un ensemble de charactères, existe-t-il une telle fonction qui puisse le faire? Par exemple: verification(string) = 1 si c'est un chiffre verification(string) = 0 si c'est des charactères autres. Merci beaucoup! |
|
|
|
|
|
#4 (permalink) | |
|
Membre éprouvé
![]() Date d'inscription: mai 2007
Messages: 493
|
Bonjour ucfoutu,
Citation:
En ce qui me concerne ca renvoie vrai et ca me semble logique mais j'ai peut être raté quelque chose.. Au plaisir de te lire. Tirex28/ |
|
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: février 2008
Messages: 4
|
Merci tirex28,
La commande semble fonctionner de façon appropriée pour ce que je veux faire. Merci bien!! Pourquoi l'exemple de ucfoutu renvoie t-il VRAI même si il contient une lettre ? S'agit-il d'un 'wildcard' ? d'un bogue? Merci de m'éclaircir!! |
|
|
|
|
|
#6 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 109
|
Salut tirex28
Re bonjour, cjb123 Il existe mille et une façon pour ce faire ... en voilà une, entre autres : Code :
Private Sub Command1_Click() toto = "243E57" MsgBox IIf(toto Like (String(Len(toto), "#")), "que des chiffres", "pas que des chiffres") toto = "24357" MsgBox IIf(toto Like (String(Len(toto), "#")), "que des chiffres", "pas que des chiffres") End Sub Code :
MsgBox IsNumeric("243E57") Tout simplement parce que la fonction Isnumeric conseillée par Tirex28 vérifie uniquement la "numéricité" et que 243E57 EST un numérique (re-salut, Tirex28 Il n'y a là ni bogue, ni "Wildcard", ni .... paranoïa....(juste de la lucidité)
Dernière modification par ucfoutu ; 28/02/2008 à 15h53 |
|
|
|
|
|
#7 (permalink) | |
|
Membre expérimenté
![]() Date d'inscription: mai 2002
Localisation: . . . . . . . . . . . . . Mon Eden se trouve à l'Est de ceux qui se trouvent à l'Ouest
Messages: 928
|
Citation:
si maintenant les notations scientifiques ne l'était pas, il y aurait à se soucier ! Le code test objectif aurait du être Code :
MsgBox iif(IsNumeric("243E57"),val("243E57"),faux)
__________________
« Si Dieu n'est pas marié, pourquoi parle-t-on toujours de sa grande Clémence ? » Pensez aux liens Rechercher - Google - Google Labs - AllApi et avant de poster : « A lire » |
|
|
|
|
|
|
#8 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 109
|
Bonsoir, DarkVader,
Mais... Nous sommes parfaitement d'accord sur ce point, précisément ! Le test que veut faire notre ami, toutefois, n'est pas en vue de savoir si un numérique a été saisi, mais si la saisie ne comporte que des chiffres (et aucune lettre) ... |
|
|
|
|
|
#9 (permalink) | ||
|
Membre expérimenté
![]() Date d'inscription: mai 2002
Localisation: . . . . . . . . . . . . . Mon Eden se trouve à l'Est de ceux qui se trouvent à l'Ouest
Messages: 928
|
Bonsoir UcFoutu,
Citation:
Citation:
Code :
isnumeric(replace(myString,".",","))
__________________
« Si Dieu n'est pas marié, pourquoi parle-t-on toujours de sa grande Clémence ? » Pensez aux liens Rechercher - Google - Google Labs - AllApi et avant de poster : « A lire » |
||
|
|
|
|
|
#10 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 109
|
- Tout-à-fait d'accord également (je l'ai dit il y a moins de 4 jours dans une autre discussion) sur cette utilisation du Replace, pour les nombres non entiers.
- pour le reste : relis bien tout .... c'est une question de vocabulaire inaproprié de notre ami (entre chiffre et nombre |
|
|
|
|
|
#11 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: mai 2002
Localisation: . . . . . . . . . . . . . Mon Eden se trouve à l'Est de ceux qui se trouvent à l'Ouest
Messages: 928
|
Contrairement à toi je fonctionne en logique flou.
A la lecture d'un post il est facile de déceler selon la tournure de phrase qui utilise un vocabulaire choisi ou un vocabulaire non maitrisé même si dans le second cas entre aussi bien le néophyte que le paresseux. Il reste alors 2 solutions, faire à ta mode, comme si on ne comprenait pas sytématiquement, ou faire comme si, quitte à comprendre de travers.
__________________
« Si Dieu n'est pas marié, pourquoi parle-t-on toujours de sa grande Clémence ? » Pensez aux liens Rechercher - Google - Google Labs - AllApi et avant de poster : « A lire » |
|
|
|
|
|
#12 (permalink) |
|
Invité de passage
![]() Date d'inscription: février 2008
Messages: 4
|
Désolé si je n'ai pas été assez clair, je voulais bel et bien vérifier si un string ne contenait que des chiffres et aucune lettre, et non qu'il soit numérique.
Pour ce qui est du 'replace' des . par des , cela ne sera pas nécessaire, je suis au Québec dans une version anglaise d'Excel Merci de votre aide. |
|
|
|
|
|
#13 (permalink) |
|
Inscrit(e)
Date d'inscription: juillet 2007
Localisation: au pays de la liberté d'esprit
Messages: 3 109
|
oui, j'avais bien deviné qu'il s'agissait de celà ...
Mais tu l'as, ta réponse (je te l'ai donnée plus haut : La revoilà donc : Code :
Private Sub Command1_Click() toto = "243E57" MsgBox IIf(toto Like (String(Len(toto), "#")), "que des chiffres", "pas que des chiffres") toto = "24357" MsgBox IIf(toto Like (String(Len(toto), "#")), "que des chiffres", "pas que des chiffres") End Sub Si tu dois par ailleurs traiter également des non entiers, il va falloir prendre en considération le séparateur décimal également... Je te laisse chercher par toi-même d'abord et ne reviendrai que si tu ne t'en sors vraiment pas seul... |
|
|
|
|
|
#14 (permalink) |
|
Invité de passage
![]() Date d'inscription: février 2008
Messages: 4
|
Pour vous mettre à jour, après quelques modifications tout fonctionne comme voulu. La fonction ' isnumeric() ' est exactement ce que je voulais.
Merci bien - un néophyte de VBA mais qui aspire à devenir meilleur |
|
|
|
|
|
#15 (permalink) |
![]() |
Problème résolu?
Clic sur le bouton , en bas de discussion.
__________________
Si on vous donne une info qui marche, DITES-LE!!!! Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! N'oubliez pas de cliquer sur quand vous avez obtenu la réponse à votre question.------------ Je dois beaucoup de mes connaissances à mes erreurs! |
|
|
|
|
![]() |
![]() |
||
Différents type de string
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|