A voir également:
- Remise des commentaires à côté de chaque cellule
- Remise a zero pc - Guide
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Aller à la ligne dans une cellule excel - Guide
- Excel cellule couleur si condition texte - Guide
- Verrouiller cellule excel - Guide
2 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
11 mai 2018 à 18:39
11 mai 2018 à 18:39
Bonjour,
Avec une macro dans le module de feuille (à adapter) :
Avec une macro dans le module de feuille (à adapter) :
Private Sub AlignerCommentaires() Dim rng As Range Dim cel As Range Dim cmt As Comment Set rng = Me.Range("A3:A200") ' à adapter For Each cel In rng.Cells Set cmt = cel.Comment If Not cmt Is Nothing Then With cmt .Visible = True .Shape.Top = cel.Top + 1.5 .Shape.Left = [C1].Left + 18 ' à adapter End With End If Next cel End Sub
Vaucluse
Messages postés
26496
Date d'inscription
lundi 23 juillet 2007
Statut
Contributeur
Dernière intervention
1 avril 2022
6 418
Modifié le 11 mai 2018 à 16:57
Modifié le 11 mai 2018 à 16:57
Bonjour
pas facile, ...sinon d'écrire directement le commentaire dans la cellule d'à coté plutôt que de l'insérer.
Mais pourquoi ne pas les masquer pour qu'ils ne soient visibles que un par un quand vous sélectionnez un e c ellule?
crdlmnt
pas facile, ...sinon d'écrire directement le commentaire dans la cellule d'à coté plutôt que de l'insérer.
Mais pourquoi ne pas les masquer pour qu'ils ne soient visibles que un par un quand vous sélectionnez un e c ellule?
crdlmnt
11 mai 2018 à 22:35
Si je comprends bien vous définissez une sous routine en paramétrant les variables rng, cel, Cmt, Vous demandez à la sous routine de travailler dans la zone A3 jusqu'à A200 et je suppose que c'est la zone à adapter. Et mettre ma zone comme par exemple ("A1:Z1000")
Ensuite s'il y a un commentaire vous le rendez visible. Que veut dire
.Shape.Top = cel.Top + 1.5
.Shape.Left = [C1].Left + 18 (que dois je adapter ici?)
et je ne vois pas pourquoi vous mettez pour le shape.Top = cel.Top et pour le shape.Left= [C1]. Et pas aussi cel.Left et pourquoi +18?
Lorsque je recopie votre petit programme dans une macro et que je l'exécute, il me signale qu'il manque un end sub alors que je l'ai bien.
Merci pour votre aide bien précieuse.
12 mai 2018 à 21:27
Cette petite routine permet de positionner les commentaires de la plage A3:A200.
Il faut la placer dans le module de la feuille qui contient les commentaires :
- Sélectionner et copier le texte complet de la macro ci-dessus.
- Clic droit sur l'onglet de la feuille / visualiser le code
- Coller
.Shage.Top = cel.Top + 1.5 définit la position verticale du commentaire (i.e. la distance entre le bord supérieur du commentaire et le bord supérieur de la feuille de calcul) = position de la cellule qui contient le commentaire +1.5 (1.5 pour décaler légèrement le commentaire vers le bas de façon que la flèche qui le relie à la cellule soit horizontale)
.Shape.Left = [C1].Left + 18 définit la position horizontale du commentaire = la position de la cellule C1 + 18. Cette dernière commande était proposée en supposant que tous les commentaires soient dans la même colonne A, elle place les commentaires au dessus de la colonne C qui est vide.
Si tes commentaires sont dans plusieurs colonnes différentes, il est plus difficile de les placer automatiquement sur une plage de cellules non-vides
13 mai 2018 à 22:03