Positionnement commentaire.

boulou

XLDnaute Occasionnel
Bonjour. A nouveau là pour solliciter votre aide.

Comment obtenir que les commentaires de cellules apparaissent centrés sur l'écran quelle que soit la position de la cellule ?

Merci et bonne journée à tous.
 

DoubleZero

XLDnaute Barbatruc
Re : Positionnement commentaire.

Bonjour Boulou, le Forum,

Grâce à la macro de .... je ne sais malheureusement plus qui (pardon à son auteur :eek:), une proposition ci-après.

Bonne journée.
 

Pièces jointes

  • 00 - boulou - commentaire.xls
    39 KB · Affichages: 122

boulou

XLDnaute Occasionnel
Re : Positionnement commentaire.

Je l'avais conservé mais elle ne s'applique qu'à partir d'un commentaire déjà affiché alors que je souhaite dans ce nouveau classeur que ce centrage s'effectue dès l'ouverture du commentaire.
Merci toutefois de ton attention.
 

boulou

XLDnaute Occasionnel
Re : Positionnement commentaire.

Malgré beaucoup d'entêtement, je n'y arrive pas. Mes commentaires sont des images situées dans un autre répertoire et au nombre de 30. Au mieux j'obtiens de tous les superposer et comme ils ne sont pas tous de même dimensions, l'effet est déplorable et les flêches de jonction forment une véritable toile d'araignée.
Mon but est qu'ils s'ouvrent et se centrent automatiquement l'un aprés l'autre au simple passage de la souris.

Merci de votre attention et votre aide.
 

Hippolite

XLDnaute Accro
Re : Positionnement commentaire.

Bonjour,
essaye
VB:
Dim m

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
	Call CentreCommnetaire Target
End Sub

Private Sub CentreCommnetaire(ByVal Target As Range)
	If m <> "" Then Range(m).Comment.Visible = False
	If Not Target.Comment Is Nothing Then
		Application.ScreenUpdating = False
		Target.Comment.Visible = True
		Call CentreImage Target.Comment.Shape
		m = Target.Address
		Application.ScreenUpdating = True
	Else
		m = ""
	End If
End Sub

Sub CentreImage(Im as Shape)
	Dim HautImage As Long, GaucheImage As Long
	Application.ScreenUpdating = False
		With ActiveWindow.ActivePane.VisibleRange
			HautImage = .Top + (.Height / 2)
			GaucheImage = .Left + (.Width / 2)
		End With
		With ActiveSheet.Shapes(Im)
			.Top = HautImage - (.Height / 2)
			.Left = GaucheImage - (.Width / 2)
		End With
	Application.ScreenUpdating = True
End Sub
A+
 

JCGL

XLDnaute Barbatruc
Re : Positionnement commentaire.

Bonjour à tous,

Peux-tu essayer avec :
VB:
Option Explicit

Sub CentreImage()
    Dim HautImage As Long, GaucheImage As Long
    Dim X As Byte
    Application.ScreenUpdating = False
    For X = 1 To 30
    On Error Resume Next
        With ActiveWindow.ActivePane.VisibleRange
            HautImage = .Top + (.Height / 2)
            GaucheImage = .Left + (.Width / 2)
        End With
        With ActiveSheet.Shapes("Commentaire " & X)
            .Top = HautImage - (.Height / X * 1.75)
            .Left = GaucheImage - (.Width / 2)
        End With
    Next X
    Application.ScreenUpdating = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Call CentreImage
End Sub

Dans le module de la feuille

A+ à tous
 

boulou

XLDnaute Occasionnel
Re : Positionnement commentaire.

JCGL

La solution ne semble pas être dans vos 2 propositions .... ???
En annexe fichier avec application JCGL.

Le centrage lui s'opére bien quelle que soit la position dans la feuille mais je suis encore loin de ce que j'espére obtenir.
Ma seule découverte du jour est qu'un commentaire peut s'afficher à gauche de la cellule alors que jusque là tout le monde semblait dire cela irréalisable.
 

Pièces jointes

  • Commentaire centré2.xls
    32.5 KB · Affichages: 81

boulou

XLDnaute Occasionnel
Re : Positionnement commentaire.

C'est envisageable à première vue et si pour toi c'est une condition indispensable, je serai déjà grandement satisfait.
Les images sont en fait de la cartographie et il me faudra peut être chercher des définitions différentes.
Merci beaucoup pour ton attention.
 

Hippolite

XLDnaute Accro
Re : Positionnement commentaire.

Bonjour,
Nécessite de cliquer sur la cellule, je n'ai pas de solution pour le survol :
VB:
Option Explicit
Dim m As String

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Call CentreCommnetaire1(Target)
End Sub

Private Sub CentreCommnetaire1(ByVal Target As Range)
    Dim HautImage As Long, GaucheImage As Long
    If m <> "" Then Range(m).Comment.Visible = False
    If Not Target.Comment Is Nothing Then
        Application.ScreenUpdating = False
        Target.Comment.Visible = True
        With ActiveWindow.ActivePane.VisibleRange
            HautImage = .Top + (.Height / 2)
            GaucheImage = .Left + (.Width / 2)
        End With
        With Target.Comment.Shape
            .Top = HautImage - (.Height / 2)
            .Left = GaucheImage - (.Width / 2)
        End With
        m = Target.Address
        Application.ScreenUpdating = True
    Else
        m = ""
    End If
End Sub
A+
 

Hippolite

XLDnaute Accro
Re : Positionnement commentaire.

Bonsoir,
Pour supprimer l'affichage du commentaire au survol, on pourrait jouer sur la transparence du fond et du contour
Transparence 0% avant Range(m).Comment.Visible = False
Transparence 100% après Target.Comment.Visible = True
+ prévoir une initialisation de tous les commentaires à 0%
Il restera peut-être la flèche qui relie la cellule au commentaire.
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 765
Membres
103 662
dernier inscrit
rterterert