Microsoft 365 notes: position et dimension de la fenêtre

R

rw.public

Guest
Bonjour,
je travaille sur un tableau de 4 col 1000 lignes.
J'ai créé une centaine de notes.
Après avoir déplacé une colonne, je me retrouve avec une bonne partie des notes illisibles.
Et celles qui sont lisibles sont dans des fenêtres de dimensions non appropriées (trop grandes, ou trop petites, empêchant des les lire entièrement, ou même pas du tout.
Lorsque je fais "modifier la note", je me retrouve une cinquantaine de lignes plus haut, souvent avec une note de hauteur nulle.
C'est fastidieux de tout redimensionner à la main, et eut-être tout sera encore à reprendre si je touche à la structure du tableau...
Y a-t-il une solution pour dimensionner automatiquement les fenêtres de notes en fonction de leur contenu? et de les rapprocher automatiquement de la cellule qu'elles concernent? Ou autre astuce pour gérer cela correctement ?
merci
 
R

rw.public

Guest
je ne comprends pas ce "je n'arrive pas à ouvrir ton ficher " motif..... ((format de fichier non valide))". Je peux chez moi ouvrir sans problème ce fichier, à partir du fichier joint au post ci-dessus;
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

J'ai pu l'ouvrir...
Une proposition pas exacte à 100% mais devrait te suffire.
Ajuster un texte à une forme de façon totalement exacte demande une vraie usine à gaz.
J'insère des CRLF pour faciliter l'ajustement, sans pour autant avoir des com de 3 pieds de long sur 2 lignes seulement.
Tu peux régler la largeur en nombre de caractères dans la fonction. 50 car. ici
Je le repositionne également.
Traite tous les commentaires de la feuille. Tu peux restreindre à une plage si besoin.

VB:
Sub ajusteComment()
    Dim pl As Range, c As Range
    Set pl = Cells.SpecialCells(xlCellTypeComments)
    If Not pl Is Nothing Then
        Application.ScreenUpdating = False
        For Each c In pl
            c.Comment.Text decoupCh(c.Comment.Text, 50)
            c.Comment.Shape.TextFrame.AutoSize = True
            With c.Comment.Shape
                .Top = c.Top + 2
                .Left = c.Offset(, 1).Left + 2
            End With
        Next c
    End If
End Sub

Function decoupCh(ch As String, lMax As Long, Optional suppVbLF = False) As String
    Dim pos As Long, tmp, i As Long
    'insère chr(10) tous les x caractères, sans couper les mots
    If ch <> "" And InStr(ch, " ") > 0 Then
        If suppVbLF Then ch = Replace(ch, vbLf, " ")
        tmp = Split(ch, vbLf)
        For i = 0 To UBound(tmp)
            If tmp(i) <> "" Then
                pos = lMax + 1
                Do
                    pos = InStrRev(tmp(i), " ", pos)
                    If pos = 0 Then Exit Do
                    Mid(tmp(i), pos, 1) = vbLf
                    pos = pos + lMax + 1
                Loop Until pos >= Len(tmp(i))
            End If
        Next i
    End If
    decoupCh = Join(tmp, vbLf)
End Function
eric

PS : il y a une faute d'ortographe à ψιλικατζίδικο non ? :)
 

Pièces jointes

  • exemple.xlsm
    19.5 KB · Affichages: 13
Dernière édition:
R

rw.public

Guest
Bonjour Eric,
et merci mille fois, c'est génialement parfait.
Et encore plus formidable, parce que je craignais, pour le partage du classeur, devoir faire circuler un xlsm: une fois les redimensionnements et repositionnements effectués par la macro, enregistré en xlsx, le classeur conserve les transformations!
Je vais conserver cet outil précieusement pour tout le reste de ma vie.

Question: as-tu une idée sur la raison qui a pu empêcher les deux autres membres d'ouvrir le fichier?

PS: Il ne me semble pas y avoir de faute d'orthographe à ψιλικατζίδικο! Laquelle verrais-tu?
Je suis en Grèce, où j'apprends le grec; je suis tombé sur https://fr.wikipedia.org/wiki/Racine_grecque - et j'ai entrepris de convertir toutes les racines en grec ancien, et créé une colonne avec tous les mots de grec moderne usuels qui s'y rattachent; ça me fait 900 lignes, qui correspondent chacune à une racine, en tout 6500 mots de grec moderne; ça m'a pris trois mois, je viens de terminer les saisies et commence la relecture et la mise en forme. Les notes sont celle qui sont en hypertexte sur la page d'origine.

Roland
 

eriiic

XLDnaute Barbatruc
Bonjour,

peut-être un pb de version excel ? Sans grande conviction.
Tu n'es pas obligé de renommer ton classeur. Une fois celui avec la macro ouvert, tu peux ouvrir un xlsx et lancer la macro qui agira sur la feuille active.

C'était un joke la faute, le grec c'est du chinois pour moi ;)
eric
 
R

rw.public

Guest
Bonjour,

peut-être un pb de version excel ? Sans grande conviction.
Tu n'es pas obligé de renommer ton classeur. Une fois celui avec la macro ouvert, tu peux ouvrir un xlsx et lancer la macro qui agira sur la feuille active.

C'était un joke la faute, le grec c'est du chinois pour moi ;)
eric
J'ai créé les notes en caractères gras et souhaiterais qu'ils soient en maigre. Pourrait-on ajoûter à la macro une commande pour obtenir cela?
 

eriiic

XLDnaute Barbatruc
J'aurais pu dire que c'était fait exprès Modeste, mais non même pas.
Ca m'a fait sourire du coup :)
Pourtant je suis très à ceval là-dessus...

ajoute après le .Autosize :
VB:
c.Comment.Shape.OLEFormat.Object.Font.Bold = False
eric
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 068
Membres
103 110
dernier inscrit
Privé