Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Aperçu (Genre d'info-bulle) d'une cellule trop large
Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
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.
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.
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large
Bonsoir le forum,
Il ne faut pas oublier de gérer l'erreur n°1004 (Erreur définie par l'application ou par l'objet) quand le nombre de caractères de la cellule traitée est supérieur à 254 :
En utilisant par exemple le code suivant :
Left(Trim(Target), 254)
Ce qui revient à supprimer les espaces à droite et à gauche et à conserver les 254 premiers caractères.
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large
Bonjour Gedch, hamcec, le forum,
@ Gedch post #17
Pour voir la différence entre les macros des posts #10 et #11, entrez une date et mettez la cellule au format personnalisé jjjj j mmmm aaaa.
@ Gedch post #18
J'espérais bien obtenir ce résultat.
Peut-être existe-t-il des API Windows permettant de modifier l'apparence des info-bulles depuis Excel, mais je n'ai rien trouvé.
@ hamcec post #19
Tout à fait exact, il faut limiter à 254 caractères, donc modifier la macro :
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, [COLOR="Red"]Format(Left(Trim(Target.Cells(1, 1)), 254), f)[/COLOR], "")
End With
End Sub
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large
Re,
Voici une autre solution qui utilise une TextBox :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Info ActiveCell
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Info Target.Cells(1, 1)
End Sub
Sub Info(Target As Range)
Dim larg1 As Single, larg2 As Single, f As String
Application.ScreenUpdating = False
With Target
larg1 = .ColumnWidth
.Columns.AutoFit 'ajustement de la colonne
larg2 = .ColumnWidth
.ColumnWidth = larg1
f = .NumberFormat
End With
With MaChose 'nom de la TextBox
.Visible = larg2 > larg1
.Value = Format(Target, f)
.AutoSize = True
.Top = Target.Top
.Left = Target.Offset(, 1).Left
End With
End Sub
Créez la TextBox avec la Boîte à Outils Contrôles et nommez-la MaChose.
En mode Création, on peut modifier à loisir les propriétés de la TextBox.
Il n'y a plus de limitation du nombre de caractères (testé jusqu'à 10000...).
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large
Bonsoir
Cette TextBox a effectivement des avantages par rapport à l'autre solution
On a pas de problème de nombre de caractères
On peut paramétrer pas mal de choses comme la couleur
Par contre on a un problème d'affichage
c'est que la TexteBox s'étire en longueur à l'infini
On ne peut donc pas lire toute la phrase.
J'ai bien essayé de figer la taille, mais dans ce cas même si la hauteur permet de mettre plusieurs lignes, il n'y a pas de retour à la ligne et on ne voit donc que une partie du texte.
Reste plus que à chercher comment mettre une césure automatique ...
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large
Bonjour Gedch,
Il faut savoir que (presque) tout a été prévu sur Excel 🙂
Voyez ce fichier et la macro :
Code:
Sub Info(Target As Range)
Dim larg1 As Single, larg2 As Single, f As String, Lmax As Single
Application.ScreenUpdating = False
With Target
larg1 = .ColumnWidth
.Columns.AutoFit 'ajustement de la colonne
larg2 = .ColumnWidth
.ColumnWidth = larg1
f = .NumberFormat
End With
With MaChose 'nom de la TextBox
.Visible = larg2 > larg1
.Value = Format(Target, f)
.AutoSize = True
[COLOR="Red"].MultiLine = False
Lmax = 200 'on définit ici la largeur max de la TextBox
If .Width > Lmax Then
.AutoSize = False
.MultiLine = True
.Width = Lmax
.AutoSize = True
End If[/COLOR]
.Top = Target.Top
.Left = Target.Offset(, 1).Left
End With
End Sub
On joue sur les propriétés MultiLine et AutoSize de la TextBox
Re : Aperçu (Genre d'info-bulle) d'une cellule trop large
Bonjour job75
Merci pour la réponse
Maintenant c'est parfaitement lisible
J'ai bien trouvé les couleurs, les bordures, Le mode transparent.
Les effets ? (Je ne voit pas de changement ?)
J'ai cherché s'il était possible de paramétrer la zone ou apparaît la bulle
Plutôt à droite que à gauche, dessus au lieu de en-dessous
Voir si il était possible de faire apparaître à partir du milieu, pour avoir en fait la même présentation que une info-bulle
Mais je n'ai rien trouvé, mais peut-être que c'est pas paramétrable
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD