bonjour,
j'aimerais lorsque je survole les différents éléments d'une liste dans données/validation/option qu'une info-bulle différente s'affiche pour chaque élément de cette liste.
Merci de votre aide...
bonjour,
j'aimerais lorsque je survole les différents éléments d'une liste dans données/validation/option qu'une info-bulle différente s'affiche pour chaque élément de cette liste.
Merci de votre aide...
Bonjour,
Le code suivant vous servira si ma supposition est juste. Vous avez une zone de données qui sont gérées par la validation de donnée. Dans la validation de donnée, il est possible d'écrire un petit message pour indiquer à l'utilisateur le type de données qu'il peut entrer dans cette cellule. Seulement ce message ne s'affiche QUE quand la cellule est sélectionnée ! Et vous aimeriez que il s'affiche lorsque l'on survole la cellule. C'est bien ça ?
Si oui, les commentaires sont votre solution et le code suivant permet de recopier le message défini dans la validation de donnée.
La fonction hasComment permet de ne pas essayer de créer un commentaire s'il est déjà créé car cela génère une erreur (à même titre que d'appeler la propriété text d'un commentaire si celui ci n'existe pas encore).
J'espère que ça vous aidera.
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 Sub Survol() Dim dataValid As Range Dim c As Range Dim msg As String Set dataValid = Range(Cells(3, 6), Cells(8, 6)) For Each c In dataValid msg = c.Validation.InputTitle & Chr(10) & c.Validation.InputMessage If hasComment(c) Then c.Comment.Text msg Else c.AddComment msg End If Next c End Sub Function hasComment(whichCell As Range) As Boolean If whichCell.Count > 1 Then MsgBox "Veuillez fournir en paramètre une plage de maximum 1 cellule", vbOKOnly, "erreur de paramètre" Else On Error GoTo noComment hasComment = True If whichCell.Comment.Visible = True Then 'rien à faire End If End If Exit Function noComment: hasComment = False End Function
Bonne soirée,
grandement apprécié vote réponse. Mais pour plus de spécificité voici un exemple....
Petite erreur dans l'exemple :
On doit lire C2 au lieu de C6.
Bonjour,
J'ai regardé votre fichier et j'avoue que je ne trouve pas la solution. Personnellement, je ne pense pas que ce soit possible avec un liste déroulante de validation. J'ai un peu regardé les propriété d'un contrôle activeX comboBox (qui est l'équivalent de la liste déroulante mais en contrôle activeX) mais aucune propriété ne me permet de savoir si le curseur de la souris est au-dessus d'un autre nom de ville dans la liste. Il faudrait alors chercher avec l'évenement mousemove et calculer par la position de la souris, au-dessus de quel élément de la liste on se trouve (hauteur de la police entre donc en compte).
Si quelqu'un a une meilleure solution, je suis curieux, le problème a fini par m'intéresser !
Bonne soirée
Partager