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

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

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
 
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
@+
 
- 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

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