Microsoft 365 réaficher une INPUTBOX

Electron24

XLDnaute Occasionnel
Bonsoir le Forum,

Après plusieurs recherches, j'ai trouvé une macro sur une INPUTBOX
Dans cette INPUTBOX, j'ai 2 boutons OK et ANNULER
Si je clique sur OK tout va bien j'ai mes instructions qui fonctionnent.
Si je clique sur ANNULER, j'ouvre une MSGBOX me demandant de confirmer l'annulation avec un bouton OUI et un Bouton NON
Si je clique sur OUI j’arrête la macro c'est correct.
Et c'est là que je plante, en appuyant sur NON je souhaiterai ré afficher mon INPUTBOX mais ça arrête aussi la macro
Comment y parvenir.
Merci d'avance pour votre aide.
 

Pièces jointes

  • Clas Astuces.xlsm
    19.7 KB · Affichages: 27
Solution
pour du texte, il faut une autre macro, car sa valeur 0 équivaut au 0 du FALSE
quand on clique sur le bouton Annuler, ou si on appuie sur la touche Echap ;
et comme faut bien sortir de la sub dans les 2 derniers cas, le PC ne peut pas
deviner qu'il faut rester dans la sub pour du texte. ;)


soan

Electron24

XLDnaute Occasionnel
Re
OUI :) la valeur numérique de ton code fonctionne parfaitement.
ET:p je n'ai rien changé à ton code.
Le texte était juste un essai afin de savoir si j'avais un message d'erreur en cas de saisie autre que du numérique.
L'InputBox peut aussi recevoir du texte selon la déclaration de la variable obligatoire . ?
 

soan

XLDnaute Barbatruc
Inactif
ajout :

* boîte « Test ... » : clic sur Annuler ➯ Confirmer : Voulez-vous annuler ?
Oui ➯ sortie de la sub

* boîte test : clic sur Annuler ➯ Confirmer : Voulez-vous annuler ?
Non ➯ message : « Saisissez quelque chose, SVP ! » ; clic sur OK
retour à la boîte de saisie « Test ... »

soan
 

soan

XLDnaute Barbatruc
Inactif
pour du texte, il faut une autre macro, car sa valeur 0 équivaut au 0 du FALSE
quand on clique sur le bouton Annuler, ou si on appuie sur la touche Echap ;
et comme faut bien sortir de la sub dans les 2 derniers cas, le PC ne peut pas
deviner qu'il faut rester dans la sub pour du texte. ;)


soan
 

fhoest

XLDnaute Accro
bonjour,
bien que la solution est ok voici ce que je voulais dire par goto ici.
Code:
Sub TestInput() ' Test boîte INPUTBOX
Dim Réponse As Variant
Dim Message, Title, Default, MyValue

Message = "Entrez votre donnée"    ' Set Texte.
Title = "Test ..."    ' Set Titre.
Default = "1"    ' Set Valeur par défaut.

Do
ici:
    Réponse = Application.InputBox(Message, Title)
    If Réponse = False Then
        If MsgBox("Vous avez demandé l'annulation.", vbYesNo + vbInformation, "Confirmer.") = vbYes Then
            Exit Sub
        Else: GoTo ici
        End If
    End If
    If Réponse = "" Then MsgBox "Saisissez quelque chose, SVP!"
Loop Until Réponse <> ""
    MsgBox Réponse & ": est votre saisie à noter en I2", , "Valeur saisie."
Range("I2") = Réponse

End Sub
A+
 

Discussions similaires

Réponses
8
Affichages
327
Réponses
8
Affichages
472
  • Résolu(e)
Microsoft 365 Problème code
Réponses
2
Affichages
360

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400