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 :

infobulle sur textbox personnalisée


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut infobulle sur textbox personnalisée
    Salut Every tout le monde

    voila je cherche a faire un truc que je sais meme pas si ca existe

    je m'explique j'ai un userform

    sur celui ci un textbox1

    j'aimerais qu'au survol de ce textbox s'affiche un genre d'infobule avec les information suivantes :

    il regarde de N35 a N59 si il y a la lettre G si oui il m'affiche dans mon infobulle la valeur de la case de la meme ligne mais en A

    par exemple :

    s'il trouve un G en N10 alors il me met dans mon infobule la valeur qui est inscrite en A10

    s'il trouve un G en N10 N13 et N59 alors il me met dans mon infobule les valeurs qui est inscrite en A10 A13 et A59

    et le tout si possible les unes en dessous des autres.

    est-ce faisable

    merci

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Points : 377
    Points
    377
    Par défaut
    Bonjour à tous,

    Il faut utiliser la propriété ControlTipText du control TextBox, ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox1.ControlTipText = "Bonjour"

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut
    D'accord mais pour qu'il affiche le resultata de ce que je demande

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La propriété ControlTipText ne permet pas d'écrire sur plusieurs lignes.
    Tu peux toujours utiliser une astuce qui consisterait à utiliser un contrôle Label dont la propriété Visible serait à False sauf quand la souris passe au dessus du contrôle TextBox concerné. Mais le jeu en vaut-il la chandelle ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 411
    Points : 117
    Points
    117
    Par défaut
    Je sais pas mais j'aurais bien besoin de ce type d'infobule

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Attention ce n'est pas une infobulle, c'est un contrôle Label
    Voici un code simplifié pour que tu comprennes comment cela fonctionne.
    Dans cet exemple, nous avons un UserForm comprenant les contrôles suivants :
    • TextBox1 qui sera celui au-dessus duquel si tu places la souris le Label2 affichera des valeurs
    • Label2 qui contient les valeurs à afficher et dont la propriété Visible est à False au moment de l'ouverture du UserForm et la propriété Height à 50 pour pouvoir contenir les lignes à afficher.

    Pour cet exemple simplifié, si dans la colonne C la valeur est égal à "Toto" on la concaténe avec celles des autres lignes en ajoutant le retour à la ligne (constante vbCrLf)
    A l'initialisation du UserForm on charge la variable txt.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub UserForm_Initialize()
      Dim r As Long, txt As String, rng As Range
      Set rng = ThisWorkbook.Worksheets("Feuil1").Range("A2:C10")
      For r = 1 To 10
        If rng.Cells(r, 3) = "Toto" Then txt = IIf(Len(txt), txt & vbCrLf & rng.Cells(r, 1), rng.Cells(r, 1))
      Next
      With Me.Label2: .Caption = txt: .Visible = False: End With
    End Sub
    L'événement MouseMove sur le contrôle TextBox1 permet d'afficher le contenu de Label2 par le fait que sa propriété Visible passe à True
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      Me.Label2.Visible = True
    End Sub
    L'événement MouseMove sur le contrôle UserForm permet de masquer le contenu de Label2 par le fait que sa propriété Visible passe à False
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      Me.Label2.Visible = False
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [C#] Randomisation sur TextBox
    Par ArHacKnIdE dans le forum Windows Forms
    Réponses: 18
    Dernier message: 17/03/2006, 21h22
  2. [VBA-E] ré-autoriser écriture sur TextBox
    Par repié dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/03/2006, 15h35
  3. InfoBulles sur image mappée mais ayant subie un rollover
    Par shadokk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 25/02/2006, 07h46
  4. [VB.Net][Treeview] infobulle sur un noeud
    Par plasticgoat dans le forum Windows Forms
    Réponses: 1
    Dernier message: 18/11/2005, 16h13
  5. [VB.NET] focus déficiant sur TextBox
    Par joefou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/10/2005, 14h56

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