Modifier le format d'une note dans Excel via VBA

Bonjour,

Dans le prolongement d'un précédent sujet (comment accéder à la note d'une cellule simplement), je souhaiterai modifier le format de la note via vba ; par exemple, arial 8 normal.

Enregistrement macro...

Pas d'erreur, mais pas de résultat.

Une idée ?

Merci d'avance

Philippe

Bonjour à tous !

Philippe V. comme ceci peut-être

ActiveCell.Font.Name = "Arial"
ActiveCell.Font.Size = 8
ActiveCell.Font.Bold = True 'Caractère gras
ActiveCell.Font.ColorIndex = 3 '"Rouge"

Bonne journée!

Bonjour Philippe V,

Ta macro modifie le format de la Cellule portant la Note et non la Note elle-même.

Pour cela il faut sélectionner le cadre de la Note (propriété Shape).

Et ainsi modifier les propriétés de celle-ci.

Voir le code réalisé ci-dessous afin d'inclure une police particulière en taille 12.

Changer les autres propriétés si besoin.

Sub Note()
'Ajout d'une note dans la cellule active puis sélection de son cadre
With ActiveCell
.AddComment
.Comment.Visible = True
.Comment.Text Text:="Untel:" & Chr(10) & "Ecrit avec une police choisie"
.Comment.Shape.Select True
End With
'Modification ensuite de ses propriétés
With Selection.Font
        .Name = "Algerian"
        .FontStyle = "Normal"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
'Final: Activation de la cellule portant la note
ActiveCell.Select
End Sub

Merci X Cellus, cela fonctionne parfaitement !!!

Une précision simplement, comment tester si une note existe déjà dans la cellule active ?

Bien à vous,

Philippe

Bonsoir Philippe V,

comment tester si une note existe déjà dans la cellule active ?

Il est possible de réaliser cela par l'ajout d'un Flag (Valeur de contrôle) sur une des propriétés de la Note.

Exemple: Sur la visibilité de la Note. Au départ on donne la valeur 2 au Flag. Comme la visibilité de la Note est soit Vrai, soit Faux.

Donc, dans ces deux cas inférieurs à 2. Cela indiquera qu'il existe une Note sur la cellule cible. Sinon elle est inexistante.

Par la suite, on peut alors, soit ajouter une Note puis insérer un texte prévu, soit annuler la procédure. Voir ci dessous.

Sub Note()
'Test de présence de commentaire selon valeur du Flag. Au départ sa valeur est égale à 2
Deb:
Flag = 2
'Ajout d'un commentaire dans la cellule active puis sélection de son cadre
With ActiveCell 'ou d'une cellule cible. Exemple: With Range("B10")
'Contrôle de la visibilité de la Note. Si Erreur, donc pas de Note, le 1ier choix (Case 2) sera effectif sinon 2ième choix (Case <2)
On Error Resume Next
Flag = .Comment.Visible
Select Case Flag
Case 2
'Laisse le choix d'ajout de Note ou non
Rep = MsgBox("Ok pour créer une note, sinon annuler", vbOKCancel)
If Rep = 1 Then .AddComment:Goto Deb Else Exit Sub
Case Is < 2
.Comment.Visible = True
.Comment.Text Text:="Untel:" & Chr(10) & "Ecrit avec une police choisie"
.Comment.Shape.Select True
End Select
End With
Rechercher des sujets similaires à "modifier format note via vba"