Taille commentaire automatique

MARIE74

XLDnaute Occasionnel
Bonjour a toutes et a tous

Météo 2° léger nuage (regionMegeve)

Je souhaiterais que cette macro fonctionne automatiquement des que dans une cellule je fais clic droit « insérer un commentaire »

Merci de votre aide

Sub Comments_AutoSize()
Dim MyComments As Comment
Dim lArea As Long
For Each MyComments In ActiveSheet.Comments
With MyComments
.Shape.TextFrame.AutoSize = True
If .Shape.Width > 300 Then
lArea = .Shape.Width * .Shape.Height
.Shape.Width = 200
' An adjustment factor of 1.1 seems to work ok.
.Shape.Height = (lArea / 200) * 1.1
End If
End With
Next ' comment
End Sub

(macro de Dana DeLouis)

D’avance merci

A+
 

Hellboy

XLDnaute Accro
Bonjour a tous

En insérant ce code directement dans le Module ThisWorkbook de ton fichier, je crois que ça va faire ce que tu souhaite:

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim MyComments As Comment
Dim lArea As Long
For
Each MyComments In Sh.Comments
With MyComments.Shape
  .TextFrame.AutoSize =
True
 
If .Width > 300 Then
        lArea = .Width * .Height
      .Width = 200
' An adjustment factor of 1.1 seems to work ok.
      .Height = (lArea / 200) * 1.1
 
End If
End With
Next
MyComments ' comment
End Sub

Message édité par: Hellboy, à: 20/03/2006 10:10

Message édité par: Hellboy, à: 20/03/2006 10:24
 

MARIE74

XLDnaute Occasionnel
Re a tous

Salut Hellboy

Merci pour cette reponse tres rapide

Mais probleme erreur d'execution 438
Propriete ou methode non geré par cet objet

lArea = .Width * .Shape.Height
cette ligne est surlignée en jaune par le debogueur

Peux tu y remedier

Merci A+
 

MARIE74

XLDnaute Occasionnel
Re a tous

Re a toi Hellboy

OK tu a bien modifié cette ligne, le debogueur c'est calmé

Mais cette macro ne donne rien la taille du commentaire ne change pas automatiquement

Voila la macro modifiée

Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim MyComments As Comment
Dim lArea As Long
For Each MyComments In Sh.Comments
With MyComments.Shape
.TextFrame.AutoSize = True
If .Width > 300 Then
lArea = .Width * .Height
.Width = 200
' An adjustment factor of 1.1 seems to work ok.
.Height = (lArea / 200) * 1.1
End If
End With
Next MyComments ' comment
End Sub

Désolée d'etre chi........e pour un lundi matin

Merci d'avance
 

MARIE74

XLDnaute Occasionnel
Re a tous

Re a toi Hellboy

J'ai mis cette macro dans ThisWorkBook

Effectivement cette macro fonctionne uniquement avec la fonction afficher le message, c'est a ce moment que la taille de l'affichage s'adapte

Est il possible de la faire fonctionner au moment de la frappe d'un texte

Regarde fichier joint


A+
 

Hellboy

XLDnaute Accro
re

Effectivement cette macro fonctionne uniquement avec la fonction afficher le message, c'est a ce
moment que la taille de l'affichage s'adapte

Est il possible de la faire fonctionner au moment de la frappe d'un texte

1- Est ce qu'il y a déjà un message, ou le but est de l'ajouter au moment du click droit ou les deux ?

2- La frappe du texte ???? Dans le commentaire ?
 

MARIE74

XLDnaute Occasionnel
Re a toute et a tous

Merci Hellboy

Ecoute pour l'instant je vais utiliser la macro comme elle est car elle me dépanne bien.

Prend ton temps pour voir avec d'autres crak du VBA et des que tu as une solus mais moi au courant.


Encore merci de ton aide


A+
 

Statistiques des forums

Discussions
312 559
Messages
2 089 641
Membres
104 239
dernier inscrit
STEVEALL