Changement de format des commentaires à chaque ouverture

Bonjour à tous,

Je viens solliciter votre aide car je m'arrache les cheveux sur un problème tout bête. J'utilise un fichier Excel assez conséquent dans lequel j'ai intégré de nombreux commentaires de cellule. Je travaille sous Excel 2013.

Or, il s'avère qu'à l'ouverture, le format de ces commentaires change. Du coup ce format modifié automatiquement ne permet plus d'afficher le message complètement, parfois il ne l'affiche même plus du tout.

Est-ce lié aux quelques modifications que j'ai pu faire dessus (ajout de lignes / colonnes, etc.) ? Comment faire pour fixer le format des commentaires une bonne fois pour toutes ?

Je ne sais pas si c'est très clair, je reste à votre disposition pour vous donner plus de précisions si besoin.

Cordialement.

Adrien.

Bonjour,

Pour commencer, je te propose cette procédure VBA pour remettre les commentaires à leur place d'origine et de les reformater (en largeur et hauteur ; à adapter).

Pour la suite, as-tu une ou des procédures VBA qui s'exécutent à l'ouverture du fichier ?

A te relire.

Cdlt.

Public Sub ResetComments()
Dim ws As Worksheet, cmt As Comment, lArea As Long
    For Each ws In ActiveWorkbook.Worksheets
        For Each cmt In ws.Comments
            With cmt.Shape
                .Top = cmt.Parent.Top + 5
                .Left = cmt.Parent.Offset(0, 1).Left + 5
                .TextFrame.AutoSize = True
                If .Width > 300 Then
                    lArea = .Width * .Height
                    .widh = 200
                    .Height = (lArea / 200) * 1.1
                End If
            End With
        Next cmt
    Next ws
End Sub

Bonjour Jean-Eric,

Je ne sais pas ce qu'est une procédure VBA. Comment dois-je faire pour le savoir et les piloter ?

Re,

Ton fichier est normalement enregistré avec l'extension .xlsx ou .xlsm.

S'il est enregistré en .xlsm, il y a des chances que ton fichier comporte des macros (procédures VBA).

Pour visualiser éventuellement les procédures exécutées au démarrage :

ALT F11 pour ouvrir l'éditeur VBE.

A gauche de ton écran, fais un double clic sur ThisWorkbook.

snip 20190301140401

A te relire.

Cdlt.

Mon fichier est bien en xlsx. Je n'ai pas de macro dedans par contre j'ai groupé pas mal de lignes.

En double-cliquant sur "This workbook" j'ai une page complètement blanche.

Est-ce que le fait d'ajouter des lignes, d'enregistrer et de fermer mon fichier peut lui faire perdre les pédales parfois sur le format des commentaires ?

Re,

Si ton fichier est en .xlsx, il n' y a pas de raison que des formats de commentaires changent (on parle bien d'emplacement sur la feuille, de modification de hauteur et/ou de largeur des commentaires ?).

As -tu des connexions externes lancées au démarrage du classeur (Ruban, Données, Connexions) ?

Cdlt.

On parle de la même chose, c'est bien ça.

Dans le ruban j'ai des trucs que je ne connais pas, comme Power Query, PowerPivot ou encore NuancePDF (enfin ce dernier je vois ce que c'est). Je suppose que tout ça n'est pas d'origine. Les données sont toutes internes, aucune référence à un autre fichier. Le fichier est stocké sur un réseau.

Re,

Je ne peux pas t'en dire plus, compte tenu des informations.

Souhaites-tu que je t'explique comment intégrer la procédure VBA dans une copie de ton classeur, pour reformater tes commentaires ?

A te relire.

Cdlt.

Oui je veux bien, ça peut m'aider je pense.

Bonjour,

Pour commencer crée une copie de ton fichier.

Ouvre le.

ALT F11 va ouvrir l'éditeur VBE

Sélectionne VBAProject(NomDeTonClasseur) à gauche de ton écran.

ALT I + M

Un Module1 est crée.

Reviens sur le fil du message.

Clique sur l'icone à droite dans la fenêtre ci-dessous (Sélectionner et copier le code).

CTRL +C

Retourne sous Excel.

CTRL + V dans Module1

CTRL + S

Dans type, opter pour Classeur Excel prenant en compte les macros (*.xlsm).

Enregistrer.

Quitter l'éditeur VBE (croix en haut à droite).

Dans la feuille Excel :

ALT 8, exécuter la procédure ResetComments

A te relire.

Cdlt.

Public Sub ResetComments()
Dim ws As Worksheet, cmt As Comment, lArea As Long
    For Each ws In ActiveWorkbook.Worksheets
        For Each cmt In ws.Comments
            With cmt.Shape
                .Top = cmt.Parent.Top + 5
                .Left = cmt.Parent.Offset(0, 1).Left + 5
                .TextFrame.AutoSize = True
                If .Width > 300 Then
                    lArea = .Width * .Height
                    .widh = 200
                    .Height = (lArea / 200) * 1.1
                End If
            End With
        Next cmt
    Next ws
End Sub

Est-ce que le snip_20190304094108.png correspond à ton image avec le code ?

Re,

Oups !...

J'ai revu le précédent message.

Cdlt.

Ça ne change rien.

Tant pis, va falloir faire avec.

Merci de ton aide.

Re,

Essaie de joindre un fichier anonymisé.

Cdlt.

Rechercher des sujets similaires à "changement format commentaires chaque ouverture"