Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

Comment créer un minuteur de boîte de message pour fermer automatiquement la boîte de message après un certain temps dans Excel?

Vous pouvez utiliser fréquemment le script VBA pour résoudre des problèmes lors de l'utilisation du classeur Excel. Et des boîtes de message apparaîtront pendant l'exécution du script. Dans certains cas, vous souhaitez que certaines boîtes de message spécifiées soient fermées automatiquement après un certain temps plutôt que de les fermer manuellement. Dans cet article, nous allons vous montrer la méthode de création d'un minuteur de boîte de message pour fermer automatiquement la boîte de message après un certain temps dans Excel.

Créer un minuteur de boîte de message pour fermer automatiquement la boîte de message après un certain temps


Créer un minuteur de boîte de message pour fermer automatiquement la boîte de message après un certain temps


Voici un modèle de script VBA pour vous permettre de créer un minuteur de boîte de message.

Supposons que vous exécutiez un script VBA pour convertir toutes les références de cellule des cellules de formule spécifiées en absolues. Une fois la conversion réussie, vous avez besoin d'une boîte de message pour vous indiquer le succès de la conversion, et cette boîte de message doit être fermée automatiquement après 4 secondes (voir la capture d'écran ci-dessous). Veuillez faire comme suit.

1. Ouvrez le Microsoft Visual Basic pour applications , puis insérez votre script VBA utilisé dans le module correspondant.

2. Allez-y pour ajouter le script de modèle de minuterie de boîte de message suivant à votre script.

Script VBA: créer un minuteur de boîte de message pour fermer automatiquement la boîte de message après un certain temps

'The first part
#If Win64 Then '64?
    Private Declare PtrSafe Function MsgBoxTimeout _
        Lib "user32" _
        Alias "MessageBoxTimeoutA" ( _
            ByVal hwnd As LongPtr, _
            ByVal lpText As String, _
            ByVal lpCaption As String, _
            ByVal wType As VbMsgBoxStyle, _
            ByVal wlange As Long, _
            ByVal dwTimeout As Long) _
    As Long
#Else
    Private Declare Function MsgBoxTimeout _
        Lib "user32" _
        Alias "MessageBoxTimeoutA" ( _
            ByVal hwnd As Long, _
            ByVal lpText As String, _
            ByVal lpCaption As String, _
            ByVal wType As VbMsgBoxStyle, _
            ByVal wlange As Long, _
            ByVal dwTimeout As Long) _
    As Long
#End If
'The second part
Sub btnMsgbox()
    Call MsgBoxTimeout(0, "This message box will be closed after 4 seconds ", "Kutools for Excel", vbInformation, 0, 4000)
End Sub

3. Copiez la première partie du code VBA ci-dessus et collez-la avant votre code. Ensuite, copiez et collez le script ci-dessous de la deuxième partie pour remplacer le script d'origine dans votre code où vous avez besoin que la boîte de message s'affiche.

MsgBoxTimeout 0, "Conversion terminée (cette boîte de message sera fermée après 4 secondes)", "Kutools for Excel", vbInformation, 0, 4000

Notes: Dans ce cas, j'ai besoin que la boîte de message apparaisse enfin après la conversion réussie. Je place donc cette partie du script à la fin du code. Voir la capture d'écran:

Vous pouvez modifier le contenu de la boîte de message selon vos besoins.

4. appuie sur le F5 clé pour exécuter le code. La boîte de message spécifiée apparaîtra après la conversion. Et cette boîte de message sera fermée automatiquement après 4 secondes.


Articles connexes:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    dangcab · 8 months ago
    It is really nice, but on my codes I'm using the "GetAsyncKeyState" function to recognize the entry status for my data (using an scan gun) and the "MsgBoxTimeout" function is affecting the "GetAsyncKeyState" function. Without the "MsgBoxTimeOut" everything is working normal, when I include it, is like disactivate the "GetAsyncKeyState" function, but both not want to work together. Have you any suggestion?
  • To post as a guest, your comment is unpublished.
    bsacheri@gmail.com · 2 years ago
    This is a clean solution and much better than the wscript.shell popup method. I shared your idea on Stack Overflow with an example showing how to get the user response.
    https://stackoverflow.com/questions/54253640/how-to-insert-a-break-line-in-mshta-exe-pop-up-vba-macro/57512186#57512186
  • To post as a guest, your comment is unpublished.
    Fatih · 4 years ago
    You are just perfect... :lol: :lol: :lol: 8) 8) 8)