Aperçu (Genre d'info-bulle) d'une cellule trop large

Gedch

XLDnaute Occasionnel
Bonjour

Je souhaiterais en passant la souris sur une cellule dont la largeur ne permet pas de voir tout son contenu directement, d’avoir un aperçu (genre d'info-bulle) comme lorsque l’on passe sur les commentaires par exemple.

Est-ce possible ?

Merci
 

job75

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonjour Gedch, bienvenue sur XLD,

Je souhaiterais en passant la souris sur une cellule (...)

Le simple déplacement du curseur sur une feuille de calcul ne crée pas d'évènement, ce que vous souhaitez n'est possible que sur un graphique ou une image.

Par contre la sélection (ou la modification du contenu) d'une cellule peut être envisagée.

Par exemple ces macros dans le code de de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Info ActiveCell
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Info Target
End Sub

Sub Info(Target As Range)
With Target.Validation
  .Delete
  .Add Type:=xlValidateInputOnly
  .InputMessage = Target.Cells(1, 1)
End With
End Sub

A+
 

job75

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Re,

Il y a aussi la possibilité de créer un lien hypertexte avec info-bulle quand la cellule est renseignée.

Toujours dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1) <> "" Then Me.Hyperlinks.Add Anchor:=Target, _
  Address:="", SubAddress:="", ScreenTip:=Target.Cells(1, 1).Text
End Sub

Edit : on peut limiter la création aux cellules dont le nombre de caractères dépasse une certaine limite (10) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Len(Target.Cells(1, 1)) > 10 Then Me.Hyperlinks.Add Anchor:=Target, _
  Address:="", SubAddress:="", ScreenTip:=Target.Cells(1, 1).Text
End Sub

A+
 
Dernière édition:

Gedch

XLDnaute Occasionnel
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonjour job75

Merci pour tes 2 réponses,

Elles me conviennent parfaitement toutes les deux

Mais, il y a une chose que je ne comprends pas bien

Une fois que j’ai entré les macros concernées et que les ai activées
Le résultat est là !, Parfait !

Mais si je recharge cette feuille sans activer les macros ou même que je les supprime
Le résultat est toujours présent !

Dans le cas du lien Hypertexte, vu que le lien a été généré, il reste évidement présent
Mais dans le 1er cas, je ne m’explique pas ce résultat ???

Peux-tu m’expliquer ce fait ?

Merci
 

job75

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Re,

Mais si je recharge cette feuille sans activer les macros ou même que je les supprime
Le résultat est toujours présent !

(...) Peux-tu m’expliquer ce fait ?

Le résultat est toujours présent pour chaque validation déjà créée.

Idem pour chaque lien hypertexte déjà créé.

Mais les mises à jour du message de saisie ou de l'info-bulle ne se font plus si l'on modifie le contenu de la cellule :)

A+
 

Gedch

XLDnaute Occasionnel
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Re-bonjour

Effectivement les mises à jour ne se font que si on active les macros
Sinon les cellules restent à l'état initiales.

Merci encore, je vais opter pour la 1ère méthode, car c'est la plus lisible pour moi.

Est-il possible cependant pour la 1ère méthode de définir le nombre de caractère au delà duquel la macro s'applique comme en celle qui concerne les liens hypertextes ?

Ou mieux, cela serait l'extase ! Que cette macro s'applique seulement à partir du moment ou le nombre de caractères dépasse la larguer de la colonne ?

Merci
 

job75

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Re,

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Info ActiveCell
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Info Target
End Sub

Sub Info(Target As Range)
Dim larg1 As Single, larg2 As Single
Application.ScreenUpdating = False
With Target.Cells(1, 1)
  larg1 = .ColumnWidth
  .Columns.AutoFit 'ajustement de la colonne
  larg2 = .ColumnWidth
  .ColumnWidth = larg1
End With
With Target.Validation
  .Delete
  If larg2 > larg1 Then
    .Add Type:=xlValidateInputOnly
    .InputMessage = Target.Cells(1, 1)
  End If
End With
End Sub

Alors l'extase comment c'est ? Moi ça ne m'arrive plus souvent :D

A+
 

Gedch

XLDnaute Occasionnel
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Chapeau !!!

Alors l'extase comment c'est ?, c'est super !!!! :):):):)

Et en plus même si je change la largeur, 2 ou secondes et la cellule se réactive pour tenir compte de ma nouvelle largeur ! Génial :)

Une dernière petite chose, si je veux revenir en arrière et ne plus avoir cet "info-bulle" est-ce possible ?
 

eriiic

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonsoir tout le monde,

avoir un aperçu (genre d'info-bulle) comme lorsque l’on passe sur les commentaires
Peut-être un peu tard mais autre proposition : mettre le contenu en commentaire justement.

voir fichier joint

eric
 

Pièces jointes

  • LoupeDansCommentaire.xls
    42.5 KB · Affichages: 206

job75

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonjour Gedch, eriiiic, le forum,

Une dernière petite chose, si je veux revenir en arrière et ne plus avoir cet "info-bulle" est-ce possible ?

Oui, il suffit de diminuer le nombre de caractères ou d'augmenter la largeur de la colonne.

Mais avec la macro du post #7, le message ne s'efface pas immédiatement (quand on efface la cellule) : l'instruction .Delete semble ne pas toujours s'exécuter [EDIT : sur mon ordi avec Excel 2003].

Alors prenez cette macro :

Code:
Sub Info(Target As Range)
Dim larg1 As Single, larg2 As Single
Application.ScreenUpdating = False
With Target.Cells(1, 1)
  larg1 = .ColumnWidth
  .Columns.AutoFit 'ajustement de la colonne
  larg2 = .ColumnWidth
  .ColumnWidth = larg1
End With
With Target.Validation
  .Delete
  .Add Type:=xlValidateInputOnly
  .InputMessage = [COLOR="Red"]IIf(larg2 > larg1, Target.Cells(1, 1), "")[/COLOR]
End With
End Sub

Maintenant le message s'efface immédiatement quand on efface la cellule ou qu'on diminue le nombre de caractères.

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Re,

Une variante que le post d'eriiiic m'a inspirée :

Code:
Sub Info(Target As Range)
Dim larg1 As Single, larg2 As Single, f As String
Application.ScreenUpdating = False
With Target.Cells(1, 1)
  larg1 = .ColumnWidth
  .Columns.AutoFit 'ajustement de la colonne
  larg2 = .ColumnWidth
  .ColumnWidth = larg1
  f = .NumberFormat
End With
With Target.Validation
  .Delete
  .Add Type:=xlValidateInputOnly
  .InputMessage = IIf(larg2 > larg1, Format(Target.Cells(1, 1), f), "")
End With
End Sub

Le message utilise le format nombre de la cellule.

A+
 

Gedch

XLDnaute Occasionnel
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonjour

Oui effectivement la réinitialisation se fait peut-être un peu plus vite.

Parfois, il faut cliquer 2 fois de suite, sur la cellule.

Mais cet un détail, ce n’est absolument pas grave, je ne vais pas changer la largeur de mes cellules toutes les 5 minutes !

Lorsque je disais « Une dernière petite chose, si je veux revenir en arrière et ne plus avoir cet "info-bulle" est-ce possible ? » je voulais demander en fait, dans le cas où pour une raison quelconque, je ne voulais plus de cet « Info-bulle », je supprimerai en 1er la macro, mais est-ce que je pourrais supprimer les infos-bulles qui sont déjà en place dans mes cellules ?

Le fait de supprimer la macro n’enlève pas l’effet déjà engendré !

Ma feuille est très conséquente et j’aime bien garder une sécurité afin de pouvoir revenir en arrière en cas de besoin
 

Gedch

XLDnaute Occasionnel
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonjour Eric

Merci beaucoup pour ta macro

C’est très bien pensé aussi et l’effet est également très intéressant.

Mais il y a cependant un petit problème :
Il ne faut pas avoir déjà de commentaires, sinon cela l’efface.

Je te remercie, je vais garder ta macro, car dans certains cas elle pourrait m’être fort utile.

A+
 

Gedch

XLDnaute Occasionnel
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large

Bonsoir job75

Et voila le travail !!!

Les info-bulles automatiques en fonction de la largeur
Et le remède en cas de problème

Le paradis, quoi ;)

Et pour la cerise sur le gâteau :
Est-il possible de modifier la couleur du fond ou du texte de l'info-bulle ?
(C'est pâle, on n'a du mal à lire !)
Chiant le mec !!! :mad:
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 769
Membres
101 816
dernier inscrit
Jfrcs