Positionnement commentaire.

  • Initiateur de la discussion Initiateur de la discussion boulou
  • Date de début Date de début

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 !

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.
 
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.
 
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.
 
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+
 
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
 
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

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.
 
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+
 
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+
 
- 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

Discussions similaires

Réponses
7
Affichages
146
  • Question Question
Microsoft 365 bouton supprimer
Réponses
4
Affichages
108
Réponses
3
Affichages
136
Réponses
7
Affichages
183
Réponses
10
Affichages
151
Réponses
4
Affichages
114
Réponses
2
Affichages
118
Réponses
4
Affichages
233
Réponses
2
Affichages
161
Retour