Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

If Not IsNumeric & -

  • Initiateur de la discussion Initiateur de la discussion Temjeh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

Temjeh

Guest
Bonsoir le forum

J'ai cherché beaucoup sur le net mais sans résultat.
Je m'adresse donc à vous:

Comment limité un textbox a des chiffres ou des - (trait d'union) car j'ai fait un textbox pour valeur téléphonique seulement.

Même chose pour inputbox il doit y avoir seulement chiffres et -

Dim strSearchString As String
...
strSearchString = InputBox(prompt:=' Entrer le no de téléphone ', Title:='Recherche')

J'ai essayé ceci bon sauf reconnais - comme valeur non numeric:

If Not IsNumeric(TextBox4.Text) Then
MsgBox ' Erreur dans le téléphone '

If Not IsNumeric(strSearchString) Then
MsgBox ' Erreur dans le téléphone '

Merci beaucoup

Temjeh
 
bonjour Temjeh

j'espere que ces 2 exemples , qui verifient le format du TextBox et de l'InputBox , pourront t'aider


Valeur = InputBox('saisir le numero de Tel au format 88-88-88-88-88')
If Not Valeur Like '##-##-##-##-##' Then
MsgBox 'Le format saisi n'est pas valide'
Exit Sub



If Not TextBox4 Like '##-##-##-##-##' Then
MsgBox 'Le format saisi n'est pas valide'
TextBox4 = ''
Exit Sub
End If



bon dimanche
MichelXld
 
Merci beaucoup c'est très bon sauf que si la personne met par erreur une lettre dans le no de tél ca valide quand-même.

Y-a-t-il autre sol du genre:

If Not numeric (TextBox4 Like '###-###-####') Then
MsgBox ' Erreur dans le téléphone ! '

Sinon je prend ta solution qui est tres bonne et on a juste a être prudent en tapant le no.

Merci encore

Temjeh
 
Bonjour Michel, Temjeh, le Forum

Peut-être une autre approche avec cette démo UserForm que j'avais réalisée pour un masque de saisie correspondant au format canadien pour les codes postaux (Ex: G6F 7R8).

NB: la dificulté était plus grande qu'ici vu qu'il fallait de l'Apha et du Numérique, donc respecter l'exemple dans le label au dessus de chaque TextBox pour tester la Démo.

On peut facilement l'adapter pour ton cas Temjeh, il suffit de jouer avec les code caractère ANSI utilisés dans les boucles de contrôles... Pour ton cas ceux-ci t'intéresse
48 = 0
49 = 1
50 = 2
51 = 3
52 = 4
53 = 5
54 = 6
55 = 7
56 = 8
57 = 9
Soit la boucle de 'TextBox2_Change'...

Et au final le code de la dernière TextBox6, contient la concaténation nécessaire au format
TheCode = TextBox1 TextBox2 & TextBox3 & '-' & TextBox4 & TextBox5 & TextBox6 &'-' (etc à toi d'ajouter les textBox)

Démo Téléchargeable => Lien supprimé

Bon Dimanche
@+Thierry
 
rebonjour Temjeh , bonjour @+Thierry

Temjeh , j'étais en train de relire ton message de 13:01
je ne comprends pas ta remarque car chez moi , si je controles le format '###-###-####' : le message d'alerte s'affiche bien dans le cas ou une donnée non numérique serait saisie dans le TextBox
(testé avec Excel2002)


bonne soiree
MichelXld
 
Merci à tous pour cette grosse job du dimanche

Dernière tentative:

If Not numeric(TextBox4.Text Like '###-###-####') Then
MsgBox ' Erreur '
Exit Sub
Else

Il me bug à TextBox4

Merci à tous

Temjeh
 
Merci: Merci: XLD_naute, MichelXld, _Thierry

Tu as raison Michel Ca solution ###-###-#### est tres adapté a ma recherche avec erreur si non numeric

Bravo!!

Temjeh
 
Bonjour à tous

Vous allez rire mais je recherche le contraire :
c'est-à-dire le moyen de déterminer s'il y a un chiffre dans une saisi.

Voila ce que j'ai :

Private Sub Nom_Prénom_Change()

Dim NouvNom, NouvPrénom As String
If Nom_Prénom.ListIndex = 0 Then
NouvNom = InputBox('Nom du nouveau Demandeur', 'Nouveau Nom')
NouvPrénom = InputBox('Prénom du nouveau Demandeur', 'Nouveau Prénom')
Nom_Prénom.Value = UCase(NouvNom) & ' ' & _
Application.WorksheetFunction.Proper(NouvPrénom)
End If

End Sub

Private Sub Nom_Prénom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If NouvNom = '' Or NouvPrénom = '' Then
MsgBox 'Vous devez entrer le nouveau Nom ou Prénom'
Exit Sub
End If

....

Je cherche à savoir si lors de la saisi de Nouvnom et NouvPrénom si les champs sont vides (je pense que ça c'est pasa trop difficile) mais aussi qu'il n'y ait aucun chiffre parmi les lettres.

Voila. merci d'avance pour votre aide
KGreg
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
19
Affichages
2 K
B
Réponses
6
Affichages
1 K
benjaminxls
B
B
Réponses
6
Affichages
1 K
I
Réponses
3
Affichages
966
Izbeul
I
R
Réponses
2
Affichages
2 K
Remteyss
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…