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

Tail

XLDnaute Occasionnel
bonsoir
j'ai ce code

10 For a = 1 To Cells(118, 2) msg = MsgBox("Feuille " & a & " à l'impression", vbRetry, "suivi d'impression")
msg = 4

mais j'aimerais ne pas avoir à cliquer sur le message, juste l'afficher puis disparaitre puis reaparaitre à la prochaine boucle etc .
merci
 
Re : msgbox

Salut,

Effectivement, cliquer "OK" 118 fois ça fatigue !

Tu devras donc choisir d'afficher un UserForm non modal au lieu d'une MsgBox et prévoir une sortie de boucle lorsque l'utilisateur clique "Annuler".

Ca pourrait ressembler à :

Code:
Dim Temps1 As Single
UserForm1.Show 0
For a = 1 To Cells(118, 2)
  UserForm1.Label1 = "Impression Feuille " & a
  Temps1 = Timer + 1
  Do While Timer < Temps1
        DoEvents    ' Donne le contrôle à d'autres processus.
  Loop

  If UserForm1.Tag = "Annul" Then
    Exit For
  End If
Next
Unload UserForm1

A+
Horatio
 
Re : msgbox

Salut,

Pour tester le UserForm, tu dois y placer une étiquette (Label1) et un bouton de commande (CommandButton1) pour annuler l'impression.
Ainsi que ce code :

Code:
Private Sub CommandButton1_Click()
Me.Tag = "Annul"
End Sub
Le clic sur le bouton sera ainsi mémorisé et pourra être lu dans la boucle.

A+
 
- 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
4
Affichages
280
Réponses
15
Affichages
782
Réponses
5
Affichages
909
Réponses
4
Affichages
732
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
903
Retour