RESOLU PAR LA COMMUNAUTE - Commentaires cellules : affichage position unique

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous et à toutes,

Me re-voilà avec un souci que je ne peux résoudre.
Dans mon "sacré" classeur de bricoleur, j'ai quelques commentaires qui ne s'affichent pas du tout comme je le voudrais.

J'ai téléchargé les fichiers d'exemples sur le sujet (super au passage) de Monsieur BOISGONTIER et j'ai tenté de modifier le code le plus approché de mon besoin.

Je suis pas loin de la solution mais il reste encore quelques petits soucis que je n'arrive pas à résoudre malgré mes tentatives et recherches.

Voici ce que je recherche :
Est-il possible ?
D'afficher les commentaire toujours à la même hauteur ?
Que les commentaires n'apparaissent pas en passant la souris sur la cellule ?
Que le dernier commentaire affiché se ferme automatiquement en quittant la feuille (s'il n'a pas été fermé - ou si pas possible si autres cellules verrouillées) ?

Voici la Macro de Monsieur BOISGONTIER que j'ai un peu modifié pour me rapprocher de ce que je recherche :
Code:
Affiche le commentaire à la position choisie
de Mr BOISGONTIER

J'ai un peu modifié comme suit :

Dim m
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If m <> "" Then Range(m).Comment.Visible = False
  If Not Target.Comment Is Nothing Then
     If Target.Comment.Visible Then
       Target.Comment.Visible = False
     Else
       ActiveCell.Comment.Visible = True
       Target.Comment.Shape.Top = Target.Top = centre
       Target.Comment.Shape.Left = Target.Left + 100
       Target.Comment.Shape.Height = 200
       Target.Comment.Shape.Width = 700
     End If
     m = Target.Address
  Else
      m = ""
  End IfEnd Sub

Je joins un fichier test.
Un grand merci pour m'avoir lu.

Très bonne journée à tous,
Amicalement,
Lionel,
 

Pièces jointes

  • CommentairePosition.xls
    51 KB · Affichages: 45
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

Bonsour®

"By Design" Excel propose 3 mode d'affichage des commentaires :
- aucun affichage, aucun indicateur (ce mode est à l'usage du concepteur du fichier)
- affichage au passage, un indicateur prévient de la présence de commentaire
- afficahge permanent des commentaires

hors de ces propositions ???
notament :
Que les commentaires n'apparaissent pas en passant la souris sur la cellule ?
comment les faire apparaître alors ?
en cliquant sur la cellule ???
alors une proc événementielle avec une texte box positionnée pourra faire l'affaire
 

Roland_M

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

bonjour,

ce que tu demandes n'est pas du tout logique avec des commentaires, mais en totale contradiction !
il faut pratiquer autrement, utiliser autre chose !

toujours avec> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
tester les cellules en question pour afficher dans un msgbox le message correspondant à celui destiné à cette cellule !


EDIT: vite fais, un truc du genre:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B8:B18")) Is Nothing Then
   Select Case Target.Address(False, False)
     Case "B8": MsgBox "message pour la cellule B8", vbInformation
     Case "B9": MsgBox "message pour la cellule B9", vbInformation
    Case "B10": MsgBox "message pour la cellule B10", vbInformation
    Case "B11": MsgBox "message pour la cellule B11", vbInformation
    Case "B12": MsgBox "message pour la cellule B12", vbInformation
    Case "B13": MsgBox "message pour la cellule B13", vbInformation
    Case "B14": MsgBox "message pour la cellule B14", vbInformation
    Case "B15": MsgBox "message pour la cellule B15", vbInformation
    Case "B16": MsgBox "message pour la cellule B16", vbInformation
    Case "B17": MsgBox "message pour la cellule B17", vbInformation
    Case "B18": MsgBox "message pour la cellule B18", vbInformation
   End Select
End If
End Sub
 
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

Bonjour à toutes et à tous,

Pour cette partie :

... afficher les commentaire toujours à la même hauteur...

Comme ceci ?

Code:
Option Explicit
Sub Commentaire_position()
    Dim c As Comment
    For Each c In ActiveSheet.Comments
        c.Shape.Left = c.Parent.Left + 70
        c.Shape.Top = c.Parent.Top + 5
        c.Visible = False
    Next c
End Sub

A bientôt :)
 

Usine à gaz

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

Ha Roland, bonjour,

Je me doutais que tu ne serai pas si loin ...... si ça c'est pas de l'amour alors .....
J'espère un jour pouvoir moi aussi vous rendre service, à toi d'abord et aux autres qui m'ont tellement aidé.

MERCI MERCI

Je teste et je te réponds,
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

Re-Bonjour Roland,

Encore Merci, bien évidemment ça fonctionne bien.

Cependant :
- C'est un UF et j'en ai déjà vraiment beaucoup dans mon classeur (une bonne cinquantaine) qui alourdissent de beaucoup.
- Pas moyen de formater un minimum les messages qui sont plutôt longs et qui doivent me permettre également une mini présentation en faisant des copier/coller des mes World qui sont déjà prêts.


Si cela est possible, j'aimerai rester dans le cadre des commentaires qui, il me semble sont moins lourds et plus facile à gérer.
D'un autre côté, sans solution "commentaires", il me faudra bien passer par les UF.

Amicalement,
Lionel,
 

Roland_M

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

re

ou alors comme ceci, je sais pas si tu as vu !?
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("B8:B18")) Is Nothing Then
   R$ = Target.Address(False, False)
   Select Case R$
     Case "B8": MsgBox "ici message concernant la cellule " & R$, vbInformation
     Case "B9": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B10": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B11": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B12": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B13": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B14": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B15": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B16": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B17": MsgBox "ici message concernant la cellule " & R$, vbInformation
    Case "B18": MsgBox "ici message concernant la cellule " & R$, vbInformation
   End Select
End If
End Sub
 
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

Bonjour Roland,
Bonjour SI,
à toutes et à tous,

Merci Roland pour tes solutions qui fonctionnent bien sûr.
Cependant, la solution de "SI" me correspond davantage :

- elle me permet d'écrire facilement et directement dans les commentaires d'une façon "mieux formatée" donc mieux lisible,
(à partir de mes infos préparées dans World, le format est en partie reproduit )

Je pense également que cela sera moins lourd que les UF

Cependant, il me reste 2 soucis que je n'arrive pas à résoudre :

- la macro ne re-protège pas la feuille quand on sort du commentaire, (et pourtant, pendant l'affichage du commentaire, la feuille reste bien protégée)

- dans mon classeur il y a plusieurs feuilles et si l'on change de feuille sans fermer le commentaire, il reste affiché. Est-il possible de fermer le commentaire affiché en quittant la feuille ?

Merci pour votre aide si précieuse.

Je joins un fichier test

Bonne journée,
Amicalement,
Lionel,
 

Pièces jointes

  • testForum.xlsm
    44.9 KB · Affichages: 23
  • testForum.xlsm
    44.9 KB · Affichages: 26
Dernière édition:

Si...

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

re

et avec ces évènementielles ?
VB:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
  ActiveSheet.Unprotect Password:="mdp"
  Application.EnableEvents = 0
  If R.Address = "$F$5" Then [F5].Clear
  If Not Intersect(R, [E7:E29,U6:U31]) Is Nothing Then
    R.Copy [F5]: [F5].Comment.Visible = 1
  End If
  Me.Protect Password:="mdp", DrawingObjects:=1, Contents:=1, Scenarios:=1
  Me.EnableSelection = xlUnlockedCells
  Application.EnableEvents = 1
End Sub

Private Sub Worksheet_Activate()
  [J1] = 0
  Application.MoveAfterReturn = True
  Application.EnableEvents = 0
  Application.ScreenUpdating = 0
  ActiveWindow.DisplayHeadings = 0
  [A:W].Select 'adapter à l'écran à préciser
  ActiveWindow.Zoom = True
  Me.Unprotect Password:="mdp": [F5].Clear
  Me.Protect Password:="mdp", DrawingObjects:=1, Contents:=1, Scenarios:=1
  Me.EnableSelection = xlUnlockedCells
  [E4].Select
  Application.EnableEvents = 1
End Sub
 

Usine à gaz

XLDnaute Barbatruc
Re : Commentaires cellules : affichage position unique

Re Roland,

Effectivement, bricoleur le mot est très juste LOL
Je comprends aussi que je t'apparaisse comme aimant la complication.

Ce n'est pas tout à fait le cas, même si j'apprécie (déformation pro sans doute) les choses abouties.

Mon classeur est compliqué et il m'est difficile de tout expliquer sur le forum.
Ce serait aussi dévoiler mes petits secrets professionnels et je ne peux courir ce risque.

Par exemple, dans le cas de l'affichage des commentaires, ce sont des argumentations qui apparaissent selon besoin.
Il est très important qu'elles soient bien lisibles avec une mise en évidence des points "forts".

Les commentaires permettent un paramétrage qui offre cette lisibilité.

Encore merci Roland pour tes aides et conseils.
Bonne journée,
Amicalement,
Lionel,
 

Discussions similaires

Statistiques des forums

Discussions
314 655
Messages
2 111 605
Membres
111 217
dernier inscrit
aladinkabeya2