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

J

jojo

Guest
Bonjour, jai une macro msg box toute simple que jaimerai faire tourné en boucle si on repond non !
voila le début

reponse = MsgBox('Voulez vous revenir au menu principal?', vbYesNo)
If reponse = 'Yes' Then Sheets('menu').Select
If reponse = 'No' Then reponse = MsgBox('Un message s'affichera dans 10 secondes pour savoir si vous voulez revenir au menu principal', vbOKOnly)
Application.Wait (Now + TimeValue('0:00:1O'))

et la jaimerai que sa reaffiche le début^^

merci davance
 
bonjour le forum, jojo.

debut:
reponse = MsgBox('Voulez vous revenir au menu principal?', vbYesNo)
If reponse = 'Yes' Then
Sheets('menu').Select
else
MsgBox('Un message s'affichera dans 10 secondes pour savoir si
vous voulez revenir au menu principal'
Application.Wait (Now + TimeValue('0:00:1O'))
goto debut
end if

reste de la macro
 
Bonjour

jojo tu peux aussi t'y prendre comme ça je pense:

Code:
[size=4]
Option Explicit

Sub Repetition()
Dim Reponse As Byte
    Do
        Reponse = MsgBox('Voulez vous revenir au menu principal?', vbYesNo)
        If Reponse = 7 Then
            MsgBox 'Un message s'affichera dans 10 secondes pour savoir si vous voulez revenir au menu principal', vbOKOnly
            Application.Wait (Now + TimeValue('0:00:10'))
        End If
    Loop Until Reponse = 6
End Sub[/size]
Mais durant ce laps de temps d'attente l'utilisateur final ne peut rien faire Excel ne peut réaliser aucune autre manipulation.

salim
 
Voila ou en est ma macro:

reponse = MsgBox('Voulez vous revenir au menu principal?', vbYesNo)
If reponse = vbYes Then Sheets('menu').Select
If reponse = vbNo Then reponse2 = MsgBox('Un message s'affichera dans 10 secondes pour savoir si vous voulez revenir au menu principal', vbOKOnly)


apres jaimerai, seulement si on a dit No que sa attende 10 secondes et que sa relance cette macro
Jy arrive pas....moi, que je dise oui ou non, sa ma relance la macro si je met goto... ou autre
 
bonjour tout le monde 🙂

en somme tu veux boucler tant que l'utilisateur ne sélectionne pas la feuille menu, c'est ca ?

si oui, tu peux essayer ceci :


Dim bon As Boolean

bon =
False
Do
reponse = MsgBox('Voulez vous revenir au menu principal?', vbYesNo)
If reponse = vbYes Then Sheets('menu').Select: bon = True
If reponse = vbNo Then
        reponse2 = MsgBox('Un message s'affichera dans 10 secondes pour savoir si vous voulez revenir au menu principal', vbOKOnly)
        Application.Wait (Now + TimeValue('0:00:3'))
End If
Loop Until bon = True


salut
 
Re bonsoir tout le monde

C’est simple jojo,

On utilise une boucle do loop until

Soit en clair :

Tant que bon n’est pas égale à vrai tu réalises la boucle, sinon tu sort.

Par défaut, bon=false avant le démarrage de la boucle, puis des que l’utilisateur clique sur yes on bascule la variable bon en true, ainsi on sort de la boucle.

Voilà

Salut
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

K
Réponses
0
Affichages
676
kheiro31
K
L
Réponses
1
Affichages
1 K
Lucien31
L
Réponses
12
Affichages
1 K
D
Réponses
3
Affichages
988
J
Réponses
6
Affichages
2 K
J
E
  • Question Question
Réponses
1
Affichages
883
enzo_s
E
Retour