IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Message temporaire qui s'enlève automatiquement ? [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut Message temporaire qui s'enlève automatiquement ?
    Bonsoir tous,

    d'habitude, lorsque je veux afficher un message en VBA, j'utilise une "MsgBox" :
    Le problème que j'ai avec ça c'est que ça oblige l'utilisateur à cliquer sur le bouton OK.

    Or j'aimerais, pour une application spécifique, afficher un nombre à l'utilisateur juste pour l'informer et que le message s'efface automatiquement sans qu'il n'ait à cliqué.

    Pourriez vous me montrer comment faire cette fenêtre qui s'efface seule au bout de 2sec ?

    merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Dans un module standard :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub Fermer()
     
        Unload UserForm1
     
    End Sub
    Dans le module de la Form appelée "UserForm1" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub UserForm_Activate()
     
        ' le nombre dans un Label
        Me.Label1.Caption = 10
     
        '2 secondes de tempo
        Application.OnTime Now + TimeValue("00:00:02"), "Fermer"
     
    End Sub

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour,

    en dehors d'utiliser la méthode Wait au sein de l'ouverture d'un UserForm avant de le fermer

    il y a aussi ceci : CreateObject("WScript.Shell").Popup "Message", 2, "Titre", vbOKOnly

    _________________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    _________________________________________________________________________________________________________
    Je suis Paris, Nice, Bruxelles, Charlie, …

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Salut,

    si tu souhaites afficher plus que du texte, je te recommande la lecture du tuto sur le splashscreen de Loufab =]
    http://loufab.developpez.com/tutorie.../splashscreen/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 041
    Par défaut
    Pour information, il est aussi possible de faire une boite de message avec une durée limitée, et récupérer le bouton choisi ou non :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub test()
     
    If MsgBoxTimer("Vous avez 3 secondes pour annuler le traitement...", vbCritical + vbYesNo, _
                   "Confirmez vous le traitement ?", 3) = vbNo Then Exit Sub
     
    End Sub
     
    '-------------------------------------------------------------------------------
    Function MsgBoxTimer(Message As String, Boutons As VbMsgBoxStyle, Titre As String, _
                         DuréeAffichage As Byte, Optional BloqueAction As Boolean = False) As VbMsgBoxResult
    '-------------------------------------------------------------------------------
    ' Affiche une boite de message comme MsgBox, mais avec une durée d'affichage maximale
    ' qui peut être déterminée.
    '-------------------------------------------------------------------------------
    ' Message : Message à afficher comme pour la fonction MsgBox.
    ' Boutons : Les mêmes boutons que pour la fonction MsgBox.
    ' Titre : Le titre de la boite comme pour la fonction MsgBox.
    ' Durée : Durée en seconde d'affichage de la boite. Sauf si un choix est fait par l'utilisateur.
    ' BloqueAction : Si True alors bloque le clavier et la souris (mais ça marche pas).
    ' Retourne : -1 si pas de choix, ou une constante VbMsgBoxResult comme pour MsgBox.
    '-------------------------------------------------------------------------------
    Dim InfoBox As Object
    Set InfoBox = CreateObject("WScript.Shell")
    MsgBoxTimer = InfoBox.PopUp(Message, DuréeAffichage, Titre, Boutons)
    End Function

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 684
    Par défaut
    Ce qui correspond à l'exemple proposé plus tôt par Marc-L
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel (3e édition)
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/07/2006, 17h40
  2. faux popup qui se ferme automatiquement
    Par mussara dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 31/03/2006, 16h36
  3. [PHP-JS] php qui s'exécute automatiquement...
    Par sam01 dans le forum Langage
    Réponses: 4
    Dernier message: 01/03/2006, 08h20
  4. message temporaire
    Par rosros dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/01/2006, 12h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo