Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Macro VBA

Bruno09

XLDnaute Nouveau
Bonjour, J'ai une macro que j'utilise pour insérer une note.
Lorsque je clique sur "CTRL+e" ma note apparaît et j'inscris ce que j'ai besoin à l'intérieur. ce que j'aimerais c'est que lorsque je change de cellule la note se masque. J'ai beau essayer de trouver le bon code mais je n'y parvient pas.
Merci de m'aider

 

Phil69970

XLDnaute Barbatruc
Bonjour @Bruno09

Ceci masque le commentaire de la cellule active
VB:
Sub Code_Balance()
'
' Code_Balance Macro
'
' Touche de raccourci du clavier: Ctrl+e
'
ActiveCell.ClearComments
ActiveCell.AddComment
ActiveCell.Comment.Visible = True
ActiveCell.Comment.Text Text:="8075:" & Chr(10) & "8095:" & Chr(10) & "8215:" & Chr(10) & "8345:" & Chr(10) & "8551:"
ActiveCell.Comment.Shape.TextFrame.AutoSize = True

'***Masque le commentaire***
ActiveCell.Comment.Visible = False
'***************************

With ActiveCell.Comment.Shape
    .TextFrame.Characters.Font.Bold = True
    .OLEFormat.Object.Interior.ColorIndex = 3
End With
End Sub

Merci de ton retour

@Phil69970
 

Bruno09

XLDnaute Nouveau
Bonjour @Phil69970 ,
Si je rajoutes cette commande je dis le contraire de ce que j'ai demandé plus haut dans la macro.

Ce que je veux c'est que ma note s'affiche lorsque je fait "CTRL+e". J'entre les infos dans ma note et après que j'ai inscris mes infos j'aimerais lorsque je change de cellule la note se masque.

Merci
 

Phil69970

XLDnaute Barbatruc
Re
J'ai lu trop vite ....
Je te propose cette nouvelle version :
VB:
Public VarCel
Sub Code_Balance()
'
' Code_Balance Macro
'
' Touche de raccourci du clavier: Ctrl+e
'
ActiveCell.ClearComments
ActiveCell.AddComment
ActiveCell.Comment.Visible = True
ActiveCell.Comment.Text Text:="8075:" & Chr(10) & "8095:" & Chr(10) & "8215:" & Chr(10) & "8345:" & Chr(10) & "8551:"
ActiveCell.Comment.Shape.TextFrame.AutoSize = True

With ActiveCell.Comment.Shape
    .TextFrame.Characters.Font.Bold = True
    .OLEFormat.Object.Interior.ColorIndex = 3
End With

'***Recupere l'adresse de la cellule active***
VarCel = ActiveCell.Address
'***************************
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If VarCel <> ActiveCell.Address Then Range(VarCel).Comment.Visible = False
End Sub

@Phil69970
 
Dernière édition:

Phil69970

XLDnaute Barbatruc
Re

Pourtant ça fonctionne sur mon fichier :

*Si cela ne fonctionne pas, explique qu'est ce qui ne fonctionne pas, message d'erreur (lequel) et sur quelle ligne cela bloque.

@Phil69970
 

Pièces jointes

  • Masque commentaire.xlsm
    21.9 KB · Affichages: 12

Bruno09

XLDnaute Nouveau
Bonjour,
Je viens de comprendre, mes macros sont enregistré sur un module et je vois que la tienne est enregistré sur la feuille. Comme j'ai 8 feuilles (onglets), comment puis-je faire pour avoir cette macro sans avoir à la copier sur toutes les feuilles? Ou la laisser sur le module et modifier la macro?
Merci,
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…