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

Valider les données saisie dans une Message box

flobzh

XLDnaute Nouveau
Bonjour le forum,

Voici une parti du code pour le quel j'aimerai avoir quelque conseil :
Code:
         Ns = InputBox(("Le document est existant" & Chr(10) & "Liste des documents similaires : " & Chr(10) & Chr(10) & Msg & _
         Chr(10) & "Entrez un nouveau N° d'ordre : " & Chr(10) & "(comprie entre 0 et " & Nmax & ")"), "Doublon")
         If Ns = "" Then Exit Sub
        
    'Control entré numérique
        While Not IsNumeric(Ns)
           MsgBox "Le saisi n'est pas un nombre.", vbExclamation, "Message d'erreur"
            Ns = InputBox(("Le document est existant" & Chr(10) & "Liste des documents similaires : " & Chr(10) & Chr(10) & Msg & _
           Chr(10) & "Entrez un nouveau N° d'ordre : " & Chr(10) & "(comprie entre 0 et 9999)"), "Doublon")
           If Ns = "" Then Exit Sub
        Wend
    'Control entré entre 0 et Nmax
        While Ns < 0 Or Ns > Nmax
             MsgBox "Le nombre n'est pas dans la plage valide.", vbExclamation, "Message d'erreur"
             Ns = InputBox(("Le document est existant" & Chr(10) & "Liste des documents similaires : " & Chr(10) & Chr(10) & Msg & _
             Chr(10) & "Entrez un nouveau N° d'ordre : " & Chr(10) & "(comprie entre 0 et 9999)"), "Doublon")
             If Ns = "" Then Exit Sub
                      
        Wend
    End If

Ça se voie que je débute ?
J'explique, suite a la saisi d'une valeur (Ns) dans la message box je souhaite contrôler que celle-ci est un nombre compris entre 0 et Nmax.
Je rencontre deux problème, d'une part la comparaison ne marche pas bien
Code:
While Ns < 0 Or Ns > Nmax
D'autre par si lors de la dernière vérification l'utilisateur saisi une entrée non numérique, j'ai un message d'erreur.
Pour resumé, j'aimerai une boucle qui vérifié les trois condition : 0 < Ns < Nmax, IsNumeric(Ns).
Je trouve également mon code très répétitif. Peut-on le simplifier ?
Merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : Valider les données saisie dans une Message box

Bonjour,

plutôt qu'avec la fonction "inputbox", un exemple ci-dessous avec la méthode "inputbox" :
Code:
Option Explicit
Sub test()
Dim i As Long, j As Long
j = 100
i = -1
Do While i < 0 Or i > j
i = Application.InputBox("saisissez un nombre...", Type:=1)
Loop
End Sub
bonne journée
@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…