IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Repositionner les commentaires [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 38
    Par défaut Repositionner les commentaires
    Bonjour,

    j'ai besoin de redimensionner et repositionner tous les commentaires d'un classeur au voisinage de leur cellule de référence.
    Voilà où j'en suis de mes tentatives, sans succès pour l'instant.
    Quelque chose pêche dans mon raisonnement, mais je ne vois pas quoi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub RepositionComment()
    Dim c As Range
     
    Range("A1").Select
    Selection.SpecialCells(xlCellTypeComments).Select
    With Selection
        For Each c In Selection
            c.Comment.Shape.Select True
            c.Comment.Shape.Placement = xlMove
            c.ShapeRange.Left = Selection.Width * 1.2
            c.ShapeRange.Top = Selection.Height * 0.8
            c.Comment.Shape.Select False
        Next
    End With
    End Sub
    Merci de vos conseils.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    A essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub RepositionCommentV2()
     
    Dim Cellule As Range
     
           For Each Cellule In ActiveSheet.UsedRange.Cells
               If Not Cellule.Comment Is Nothing Then
                      With Cellule.Comment.Shape
                            .Placement = xlMove
                            .Left = .Width * 1.2
                            .Top = .Height * 0.8
                      End With
               End If
            Next Cellule
     
    End Sub
    Cordialement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 38
    Par défaut
    Bonjour,

    merci pour la réponse.
    Ce code positionne tous les commentaires aux mêmes coordonnées, ils se superposent.
    Je n'ai pas eu le temps d'analyser pourquoi.

    Je n'ai pas pu revenir plus tôt pour donner la solution finalement trouvée et opérationnelle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub RepositionComment()
    'macro destinée à replacer les commentaires au voisinage de leur cellule de référence
    Dim c As Variant
     
        Range("A1").Select 'initialiser la sélection
        Selection.SpecialCells(xlCellTypeComments).Select 'sélectionner toutes les cellules ayant un commentaire rattaché
        With Selection
            c = ActiveCell
            For Each c In Selection
                If c.Comment Is Nothing Then
                    GoTo suite
    '                c.AddComment 'STOP DEV, à ne pas utiliser en réel
    '                c.Comment.Text Text:="commentaire A1"
                End If
                    v_comment = c.Comment.Text 'mémoriser le contenu du commentaire
                    c.ClearComments 'effacer le commentaire
                If c.Comment Is Nothing Then
                    c.AddComment 'créer nouveau commentaire
    'c.Comment.Visible = Not c.Comment.Visible 'STOP DEV
                    c.Comment.Text Text:=v_comment 'insérer le contenu mémorisé
                End If
    suite:
            Next c 'passer à la cellule suivante de la sélection
        End With
    End Sub
    Les commentaires sont tous recréés avec leur contenu initial et se mettent à leur position par défaut.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. xpath-->test sur les commentaires
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/07/2005, 12h14
  2. [debutant] les commentaires ????
    Par ghohm dans le forum ASP
    Réponses: 3
    Dernier message: 24/03/2004, 10h18
  3. Tchart et les commentaires
    Par danuz dans le forum XMLRAD
    Réponses: 3
    Dernier message: 30/09/2003, 12h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo