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

[RESOLU] InputBox- limitation saisie 4 chiffres

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.
 

zebanx

XLDnaute Accro
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
 

Staple1600

XLDnaute Barbatruc
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
 

cathodique

XLDnaute Barbatruc
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:

job75

XLDnaute Barbatruc
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.
 

cathodique

XLDnaute Barbatruc
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.
 

cathodique

XLDnaute Barbatruc
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
 

cathodique

XLDnaute Barbatruc
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.
 

cathodique

XLDnaute Barbatruc
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
 

Discussions similaires

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