J'ai créé un bouton pour afficher/masquer une ligne.
A cette occasion la macro doit préalablement actualiser le commentaire d'une cellule (A4 dans mon fichier) avec mise en gras partielle du texte.
Malheureusement la méthode TEXTFRAME.characters(début,nb car).font.bold=true utilisée avec l'objet Shape ne fonctionne pas !
J'obtiens toujours l'erreur "la méthode 'Textframe' de l'objet 'Shape' a échoué.
Je joins un extrait du fichier concerné et vous remercie de votre aide.
Pour moi cette fonction marche correctement.
Un essai en PJ où on précise le caractère de début et le nombre de caractères à mettre en gras dans le commentaire de A4, avec :
VB:
Sub Essai()
Range("A4").Comment.Text Text:="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Range("A4").Comment.Shape.TextFrame.Characters(1, 26).Font.Bold = False
Range("A4").Comment.Shape.TextFrame.Characters([D4], [D5]).Font.Bold = True
End Sub
Expliquez où ça plante !
Pour moi la ligne 28 que vous donnez en erreur marche. Regardez ce visuel.
où je modifie le nombre de caractères à mettre en gras.
XL sous MAC c'est vicieux, car c'est "presque" compatible à celui de Windows.
N'ayant pas de MAC je ne peux malheureusement pas répondre.
Un début de piste :
effectivement cela évite le plantage en cas d'utilisation sous Mac
Mais j'ai retenu une autre solution soit mise en gras de tout le commentaire (y compris sous MAC)
Pour cela je sélectionne manuellement en Gras un ancien commentaire et mon code est simplifié comme suit:
suppression de: 'With Range("A4")
'.ClearComments
'Set commentaire = .AddComment
'End With
ajout de : Range("A4").Comment.Text Text:= _
"L'investissement de " & Chr(10) & "1 400 € " & Chr(10) & "(pose 2 Compteurs + Regard en Oct 2020)" & Chr(10) & "est amorti à " & Round((cumulGains + 1400) / 1400 * 100, 0) & " %"
j'obtiens toujours le commentaire en Gras à chaque modification du texte
Est-ce bien orthodoxe de ne pas effacer les commentaires avant modification ??????
En tout cas cela fonctionne
Comme le dit Sylvanu l'Excel sous MAC n'est que ressemblant à celui sous Windows !
Après recherches sur sites en anglais il apparait entre autres que Textframe ne fonctionne pas sous MAC