Ajouter une info-bulle pour une sélection dans une liste déroulante

désolé, ce message est erroné.

1 « J'aime »

Bonjour rhodo,
je n’entre pas dans vos combats mais je trouve dommage qu’un site d’entraide se transforme en ring. C’est dommage

1 « J'aime »

désolé, ce message est erroné.

Bonjour à tous,

Tout d’abord, je tiens à m’excuser pour ma réponse tardive, j’ai été confronté à des contraintes personnelles imprévues. Merci de votre compréhension.

Je vous remercie sincèrement pour vos aides et votre patience. J’ai pris le temps de tester vos propositions, et voici mes retours :

  • taz067 : Merci pour votre suggestion. Malheureusement, comme la colonne contenant la liste déroulante se trouve au milieu de plusieurs colonnes, il m’est difficile d’afficher le texte explicatif à côté.

  • Cow18 : La formule XLookup n’est pas compatible avec ma version Excel 2019.
    s = WorksheetFunction.XLookup(c.Value, Range("F5:F26"), Range("G5:G26"), "?", 0)

  • Zebulon : les info-bulles restent fixes et ne varient pas en fonction du choix dans la liste de validation.

Merci encore pour vos efforts et vos suggestions.

Bonjour,
Il n’y a pas d’info bulle dans ma proposition, les infos sont directement dans la liste déroulante.
Cordialement

Bonsoir Zebulon,

Donc, il n’est pas possible d’afficher des info-bulles spécifiques pour les éléments d’une liste de validation de données ?

Pour information, la colonne contenant la liste de validation s’étend sur plusieurs milliers de lignes.

Sub Worksheet_Change(ByVal Target As Range)
     Dim iSect As Range, c, s, i
     Set iSect = Intersect(Target, Range("K5,K16"))     'ces 2 cellules
     If iSect Is Nothing Then Exit Sub

     For Each c In iSect.Cells

          On Error Resume Next
          i = 0: i = c.SpecialCells(xlCellTypeSameValidation).Count
          On Error GoTo 0
          If i > 0 Then
               If c.Value = "" Then
                    s = "Choisir un " & IIf(c.Row = 5, "paiement", "tag")
               Else
                    s = "???"
                    On Error Resume Next
                    s = WorksheetFunction.VLookup(c.Value, Range("F5:G26"), 2, 0) 'avec vlookup au lieu de Xlookup
                    On Error GoTo 0
               End If
               c.Validation.InputTitle = "info-bull"
               c.Validation.InputMessage = s
               Application.Goto c, 0
          End If
     Next

End Sub

plusieurs milliers de ligne, oei, c’est autant de lignes au lieu de F5:G26 ?

Bonsoir Cow18,

Les sources des deux listes restent identiques :

  • Liste « Paiement » : source E6:E14 (correspondant à la liste textuelle F6:F14 à afficher dans les info-bulles).
  • Liste « TAG » : source E17:E26 (correspondant à la liste textuelle F17:F26 à afficher dans les info-bulles).

Il y a donc deux colonnes distinctes : une pour les types de Paiement et une autre pour les TAG.

Ces listes de validation, dans chaque colonne, vont s’étendre sur plusieurs milliers de lignes.

alors, je pense que vous devez modifier ceci
Set iSect = Intersect(Target, Range(« K5:K50000,M5:M50000 »)) 'ces 2 plages et milliers de lignes
et puis colonne K = colonne 11 et en supposant que vos paiements sont dans cette colonne
s = "Choisir un " & IIf(c.column = 11, « paiement », « tag »)

Bonsoir,
Un essai avec un commentaire
Info-bulle dans liste de validation.xlsm (21,5 Ko)
Slts

1 « J'aime »

Bonsoir tontonbox,
Re Cow18,

J’ai voulu modifier les codes, mais je crois que j’ai oublié certaines choses !

Info-bulle dans liste de validation_v002.xlsm (28,8 Ko)

j’ai modifié les 2 noms des listes déroulantes.
Puis les 2 méthodes ensemble dans la feuille « Cow18 », c"est à vous de choisir …
Info-bulle dans liste de validation_v002 (1).xlsm (31,2 Ko)

1 « J'aime »

Bonjour Cow18,

Merci beaucoup, cela fonctionne parfaitement ! :grinning:

Comme j’utilise un tableau structuré nommé TbTransactions, je vais essayer d’adapter les plages des colonnes Paiement et Tag en conséquence.

1 « J'aime »