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

inputBox à cancel

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 !

Evelynetfrancois

XLDnaute Impliqué
Bon dimanche à tous
j ai un petit souci a mettre une inputBox à cancel

je demande une saisie dans l'InputBox .
Si cette saisie est bonne ....then ...suite de la macro
Si cette saisie n’est pas bonne .......MsgBox erreur de saisie , puis re lancement auto de l InputBox pour nouvelle saisie correcte.

Comment mettre le « Annuler » de l inputBocx à cancel pour sortir de la procédure sans relancer l inputBox


J’espere etre clair ?
merci pour toutes vos idées

E et F
 
Re : inputBox à cancel

Bonjour EvelyneEtFrancois

une des solution est de mettre ton "Inputbox" dans une boucle "Do Loop", comme dans l'exemple ci dessous :

Code:
    Do While MaLigne < 3 Or MaLigne > 11
      MaLigne = InputBox("Pour quelle ligne voulez vous connaître" & (Chr(10)) _
        & "les numéros manquants ?" , _
        "Message ")
    Loop

bon dimanche
@+
 
Re : inputBox à cancel

Bonjour EvelyneEtFrancois et Pierrot93,

Une proposition avec un petit exemple de saisie du numéro de la feuille à imprimer.

Sub macro()
Dim Prem As String
' Message pour la saisie des données d'impression de la première feuille
Do ' Boucle en cas de relancement
' Affiche le message, le titre et la valeur par défaut.
Prem = InputBox("Veuillez entrer le N° de la première page à imprimer !", _
"IMPRESSION", "Numéro") ' Valeur de la variable.
If Prem = "Numéro" Or Prem = "" Then
MsgBox "Erreur de saisie !"
'Message de vérification de décision d'annuler l'impression
MyValue = MsgBox("Souhaitez-vous annuler l'impression ?", _
vbYesNo + vbCritical + vbDefaultButton1, "DECISION D'IMPRIMER")
If MyValue = vbYes Then Exit Sub
End If
Loop Until Prem <> "" And Prem <> "Numéro"

'Ici la suite de la macro

End Sub

Cordialement

Bernard
 
Re : inputBox à cancel

Bonjour pierrot et le forum
et merci une fois de plus de me donner des idées !!!
Voila ce que j ai comme macro
et j ai mis (en rouge ) pour pouvoir ressortir de la procédure !!
car faire une boucle avec tout ça , je sais po faire

c'est certainement pas très classe mais ça marche !! LOL
Le bouton "OK " de l InputBox considère les ***** et donc me renvoie la MsgBox
Le bouton "Annuler "de l InputBox considère un " " et sort ............
et un bon Identifiant ouvre la bonne feuille

Au plaisir de te lire
Bon dimanche


Sub Secteur()
Dim Identifiant As String
On Error Resume Next
Identifiant = InputBox(" Entre ton identifiant d'accés", " Saisie du Code", " * * * * * * ")
If Identifiant = "" Then
GoTo fin
End If


If Identifiant = "guytou" Then
Sheets("Feuille de commande").Activate
Range("E6").Select
GoTo fin
End If
If Identifiant = "toto" Then
Sheets("AA").Activate
Range("D3").Select
GoTo fin
End If
If Identifiant = "tata" Then
Sheets("BB").Activate
Range("D3").Select
GoTo fin
End If
If Identifiant = "tutu" Then
Sheets("CC").Activate
Range("D3").Select
GoTo fin
End If
If Identifiant = "tete" Then
Sheets("DD").Activate
Range("D3").Select
GoTo fin
End If
If Identifiant = "titi" Then
Sheets("EE").Activate
Range("D3").Select
GoTo fin
End If
If Identifiant = "4321" Then
Sheets("Cumul Semaine").Activate
Range("a6").Select
GoTo fin
End If
If Identifiant = "archives" Then
Sheets("ARCHIVES").Activate
Range("a1").Select
GoTo fin
Else
MsgBox "L'identifiant d'accés n'est pas reconnu . ", vbExclamation, " ERREUR DE SAISIE "
Secteur
End If
fin:
End Sub
 
Re : inputBox à cancel

Re EeF, Bonjour Bernard

alors peut être comme ceci avec les valeurs à modifier bien sur :

Code:
    Dim Identifiant As String
    Do While Identifiant <> "titi" And Identifiant <> "toto" And Identifiant <> "tutu" And Identifiant <> "tata" _
        And Identifiant <> "tete" And Identifiant <> "1234" And Identifiant <> "4567"
      Identifiant = InputBox("Pour quelle ligne voulez vous connaître" & (Chr(10)) _
        & "les numéros manquants ?", _
        "Message ")
    Loop

bon après midi
@+
 
Re : inputBox à cancel

Re pierrot
Non ça ne va pas comme je souhaiterais
l'échappe (annuler ) continu a boucler
mais ta boucle m’ouvre des perspectives dans d autres projets
mais ne cherche plus
j ai trouvé une adaptation à mon problème sur ce projet
en tout cas merci pour tout
ça agite mes neurones………..merci !!
bonne soirée à toi
E et F
 
Re : inputBox à cancel

Bonsoir EetF

Oui c'est normal, tant que ta variable "Identiiant" n'est pas alimentée par une donnée valide la fonction inputbox est renvoyée.

Maintenant essayons la METHODE inputbox :

Code:
Sub test()
Dim Identifiant
    Do While Identifiant <> "titi" And Identifiant <> "toto" And Identifiant <> "tutu" And Identifiant <> "tata" _
        And Identifiant <> "tete" And Identifiant <> "1234" And Identifiant <> "4567"
      Identifiant = Application.InputBox("Pour quelle ligne voulez vous connaître" & (Chr(10)) _
        & "les numéros manquants ?", "Message ", , , , , , 3)
    If Identifiant = False Then Exit Do
    Loop
End Sub

Si j'ai bien compris, pas encore sur, ca devrait marcher... lol

bonne soiré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

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