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 :

Affichage d'une bulle infos [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut Affichage d'une bulle infos
    Bonsoir a toutes et tous, Forum bonsoir

    Je souhaiterai svp dans le code ci-dessous afficher une bulle infos ou il y aurai un message écrit (Expiration CB)

    Le code fait clignoter l'écriture de deux Labels et je souhaiterai en plus ajouter
    une bulle infos et quelle s'affiche et s'efface automatiquement

    PS peut importe si la bulle clignote ou pas, pas de MSGBOX ca je sais faire.

    je n'ai pas trouver comment faire afficher un style de bulle au fond jaune clair qui s'affiche par exemple quand on survole un endroit précis de l'écran.

    si c'est possible bien sur

    Merci a vous pour votre aide et votre temps

    une bonne soirée a tous

    Cordialement Ray

    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
     
    Dim Fin As Date: Dim DateExpiration
     
         DateExpiration = "16/10/2013"     'Pour modifier une date d'expiration
         Me.Label486.Caption = Application.Proper(Format(DateExpiration, "dd/mmm/yyyy"))    'Date d'expiration C B
     
        If CDate(Label486.Caption) - Date <= 1 Then
            Fin = Time + 0.208 / 3600                'Temps 5 s
     
            Do While Time < Fin
                  Label486.ForeColor = vbYellow
                  Label321.ForeColor = vbYellow
                Minuterie 500                                'Toutes les demi seconde
                  Label486.ForeColor = vbRed         'Rouge Date
                  Label321.ForeColor = vbRed         'Rouge Expiration
                Minuterie 500
            Loop
                  Label486.ForeColor = vbYellow      'Remets en Jaune
                  Label321.ForeColor = vbWhite       'Remets en Blanc
        End If

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Demande de précisions :
    1) L'InfoBulle doit apparaître sur un Userform. Dans ce cas, sur le survol de quel(s) contrôle(s) ?
    2) L'InfoBulle doit apparaître sur une feuille Excel. Dans ce cas, sur le survol d'un OLEObject (Label, CommandButton, Image ou autre) ou d'une cellule particulière ?
    3) Un autre cas.

    Merci de le préciser.
    Bonne journée et à plus.

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Bonjour a tous, forum Bonjour

    Bonjour PMO2017

    Merci de ta réponse

    Je souhaiterai svp juste afficher sur mon Userform une bulle infos ou il y aurai un message écrit (Expiration CB)

    Le code fait clignoter l'écriture de deux Labels quand la date -1 jour est arrivé et je souhaiterai en plus ajouter

    une bulle infos et quelle s'affiche et s'efface automatiquement dès l'arret du clignotement

    Pas de survol avec la souris

    Merci pour ton aide, bonne journée

    Cdlt Ray

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Points : 1 219
    Points
    1 219
    Par défaut
    Bonjour,

    Le plus simple est de faire la démarche suivante
    1) dans le UserForm, créez un contrôle Label à la position désirée
    2) sélectionnez le et dans la fenêtre de Propriétés, renseignez les propriétés
    (Name) LabelInfoBulle
    Visible False
    3) copiez dans votre code les ajouts qui sont signalés par '///ajout en respectant leur emplacement
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
     
    Private Sub aa()
    Dim Fin As Date
    Dim DateExpiration
     
    DateExpiration = "16/10/2013"     'Pour modifier une date d'expiration
    Me.Label486.Caption = Application.Proper(Format(DateExpiration, "dd/mmm/yyyy"))    'Date d'expiration C B
    'If CDate(Me.Label486.Caption) - Date <= 1 Then
     
    With Me.LabelInfoBulle        '///ajout
      .Caption = "Expiration CB"  '///ajout
      .AutoSize = True            '///ajout
      .Visible = True             '///ajout
    End With                      '///ajout
     
      Fin = Time + 0.3 / 3600                  'Temps xxx s
      Do While Time < Fin
        Label486.ForeColor = vbYellow
        Label321.ForeColor = vbYellow
        DoEvents
        Sleep 200                      'Toutes les xxx seconde
        Label486.ForeColor = vbRed     'Rouge Date
        Label321.ForeColor = vbRed     'Rouge Expiration
        DoEvents
        Sleep 200
      Loop
      Label486.ForeColor = vbYellow    'Remets en Jaune
      Label321.ForeColor = vbWhite     'Remets en Blanc
     
    Me.LabelInfoBulle.Visible = False '///ajout
     
    'End If
     
    End Sub
    Je mets le classeur exemple pour plus de facilité.

  5. #5
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Salut PMO2017,

    Merci beaucoup pour ta réponse et aussi pour le petit code

    ca fonctionne très bien, je vais adapter a mon programme

    je te souhaite une très bonne après midi, et encore

    Bien cordialement Raymond

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

Discussions similaires

  1. Affichage d'une bulle au survol des pointeurs ?
    Par Zebulon777 dans le forum IGN API Géoportail
    Réponses: 17
    Dernier message: 18/12/2012, 11h25
  2. affichage d'une bulle info sur un bouton disabled
    Par sallemel dans le forum Struts 1
    Réponses: 0
    Dernier message: 28/04/2009, 16h54
  3. Affichage d'une bulle explicative au passage de la souris
    Par TilKo dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 07/04/2008, 15h41
  4. Provoquer l'affichage d'une bulle d'information
    Par amelia dans le forum C++Builder
    Réponses: 6
    Dernier message: 20/02/2008, 09h12
  5. Aide sur l'affichage d'une bulle d'info svp
    Par Zan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 18/04/2006, 00h01

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