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

[RESOLU] InputBox- limitation saisie 4 chiffres

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 !

cathodique

XLDnaute Barbatruc
Bonsoir🙂,
Je voudrais limiter la saisie ou rejeter tout nombre ne comportant pas 4 chiffres.
VB:
Sub essai_application_inputbox()
  Dim Nb As String
  Nb = Application.InputBox("Un nombre de 4 chiffres, SVP", Type:=1)
  If Nb = Empty Then
    Exit Sub
  Else
    MsgBox "poursuite du code..."
  End If
    'Les types de valeurs peuvent être les suivants :
  '0: Formule
  '1: Nombre
  '2: Texte
  '4: Valeur logique(True Or False)
  '8: Référence de cellule
  '16: Valeur d’erreur
  '64: Tableau de valeurs
 End Sub
En vous remerciant par avance.

Bonne soirée et bon week-end.🙂
 
Bonsoir Cathodique,

Tu ne précises pas si tes 4 chiffres sont des nombres > 0 , des entiers...
Peut-être ça si ce sont les restrictions choisies :

If (Nb = Empty Or Nb < 0 Or Nb > 9999) Then

++
zebanx
 
Bonsoir le fil, le forum

Une autre approche
(PS: Mieux vaut ne pas saisir des lettres sinon...)
VB:
Sub b()
Dim a
a = InputBox("Nombre?")
If Len(a) = 4 And 1000 Mod a = 1000 Then
MsgBox "Saisie OK"
End If
End Sub
 
Bonsoir le fil, le forum

Une autre approche
(PS: Mieux vaut ne pas saisir des lettres sinon...)

Merci beaucoup Staple1600. Je pense m'en sortir comme ça.😉
comme ceci c'est OK, même si on saisit des lettres, elles ne seront pas prises en compte.
VB:
Sub b()
Dim a
a = Application.InputBox("Nombre?", Type:=1)
If Len(a) = 4 And 1000 Mod a = 1000 Then
MsgBox "Saisie OK"
End If
End Sub
 
Dernière édition:
Bonjour cathodique, zebanx, JM, Nicole, le forum,

Ceci est tout de même très classique :
Code:
Sub Essai()
Dim x$
While Not x Like "####"
    x = InputBox("Entrez 4 chiffres :", , x)
    If x = "" Then Exit Sub
Wend
'suite
End Sub
Bonne journée.
 
Zebanx🙂 , Staple1600🙂 , Bisson Nicole🙂 , Job75🙂 , Bonjour le forum

Je vous remercie pour votre aide. C'est très gentil de votre part.

@job75 : "classique", en effet mais je n'y avais pas pensé😳. Je déduis que JM c'est Staple1600?!😀

Bon week-end.
 
Merci Nicole pour ce code. Cependant, il ne fonctionne pas comme il le faudrait.
Je l'ai testé ainsi, jusqu'à 3 chiffres la 'InputBox' ne se ferme pas, jusque là c'est bon.
Mais même avec 4 chiffres, elle ne se ferme pas.
Pour test, j'ai saisi 5 chiffres, ils sont effacés. Puis 6 chiffres, et là le code plante "erreur d’exécution 6, dépassement de capacité". Voilà, je voulais juste te mettre au courant.🙂

Une dernière question: Quelle est la différence (s'il y en a) entre InputBox et Application.InputBox

Un grand merci.
Bon WE😀
 
Bonjour le fil, le forum

@cathodique
Oui moi c'est JM. C'est même écrit dans ma signature 😉
Quand à la différence en les deux InputBox
Voir l'aide en ligne de VBE (touche F1)
Désolé, je deviens de plus en plus bigleux😳😛 (pas fais attention à la signature)😀
Quant à l'aide, je ne sais pas pourquoi mais j'ai un souci sur mon pc.
J'ai vérifié sur le pc de mon fils, même version 2007; la sienne est mieux documentée.
Bon week-end.🙂
 
Re

@cathodique
Tu dis "même version 2007"
Mais ton profil indique Excel 2010

Au final quelle version utilises-tu vraiment?
Re,
@Staple1600
Autant pour moi, je suis vraiment confus😳😳😳. Toutes mes excuses, j'utilise la version 2007.
J'avais mis à jour vers 2010 mais j'ai eu un gros problème sur mon pc.
J'ai effectué une restauration et du coup revenu à 2007.😀
Bon Week-end😉
nb: profil mis à jour
 
- 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

Discussions similaires

Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…