verification si nombre dans une saisie

  • Initiateur de la discussion Initiateur de la discussion KGreg
  • 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 !

K

KGreg

Guest
Bonjour à tous

J'espère que vous pourrez m'aider parce que je suis dessus depuis hier midi. Et la je desespère.
Je cherche à determiner s'il y a un chiffre lors d'une saisie dans un inputbox.

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

....

là 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
 
Bonjour KGreg,

Je ne vois qu'une solution pour résoudre ce que tu demandes :

- faire une boucle de 1 à len(NouvNom)
- vérifier chaque caractère s'il est différent des caractères de a à z et de A à Z

-idem pour le prénom

SOIT
de faire la même vérification en cours de frappe quand l'utilisateur entre NouvNom ou NouvPrénom
Tu peux même effacer le caractère indésirable si tu veux
Cette methode suppose que tu concatenes chaque caratère entré avec les précédents style NouvNom=NouvNom & CarEntré

Il y a peut-être une autre possibilité, voire une fonction ou instruction toute faite mais je ne la connais pas

Bertrand
 
Merci à tous pour votre aide.

J'ai réussi à contourner le problème en demandant à l'utilisateur de confirmer ses saisies parce je n'ai pas réussie à implémenter la vérif des caractères d'un mot l'un après l'autre.


Mais pour ma culture perso comment on vérifie les caractères d'un mot l'un après l'autre?


Merci encore
a+
 
Bonjour

Voici un bout de code qui vérifies si tous les caractères de ton nom appartiennent à l'alphabet

Dim nom As String
Dim BonNom As Boolean
Dim x As Byte, y As Byte, z As Byte

nom = InputBox('nom?')

For x = 1 To Len(nom)
BonNom = False
For y = 65 To 90
z = y + 32
If Mid(nom, x, 1) = Chr(y) Or Mid(nom, x, 1) = Chr(z) Then
BonNom = True
Exit For
End If
Next
If Mid(nom, x, 1) = Chr(39) Or Mid(nom, x, 1) = Chr(45) Then BonNom = True
If BonNom = False Then Exit For
Next

If BonNom = False Then MsgBox 'erreur de saisie'

j'ai rajouter un test sur les cartères - et ' qui peuvent être dans des noms et qui dans ma macro sont refusés

Bon courage
 
- 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

A
Réponses
33
Affichages
4 K
Aurel60540
A
W
Réponses
4
Affichages
3 K
WhatIsVBA
W
A
Réponses
11
Affichages
1 K
A
B
Réponses
4
Affichages
2 K
benoitoleron
B
L
Réponses
9
Affichages
2 K
louloubru
L
Retour