Copier un commentaire
Bonjour à tous,
ma petite question est copier un commentaire dans une cellule.
si je copie la cellule, j'efface son contenu. Donc est il possible de copier son format.
merci pour toutes vos réponse.
@+
Bonjour Denis, bonjour le forum,
Pas très clair ton histoire... Tu veux copier le commentaire ou le format ? Une fois copié, tu vas le coller où ?
je vais essayé de faire simple
dans ma feuille, correspondant a un formulaire, je souhaite mettre dans plusieurs cellules un commentaire.
"Double click dans la cellule et insérer le n° dans la zone des pointillés"
ce message serais une aide à la saisie.
j'ai trois message différents
mon problème, est que mon formulaire est dèjà fait, si je copie le commentaire de la cellule a1 dans a2
je copie l'intégralité de la cellule et de ce fais j'efface le contenu dans a2
je regardais dans le forum, il y la possibilité de le creer en VBA mais je ne comprends pas le VBA
merci
Bonjour Denis, bonjour le forum,
denis-34 a écrit :je vais essayé de faire simple
dans ma feuille, correspondant a un formulaire, je souhaite mettre dans plusieurs cellules un commentaire.
"Double click dans la cellule et insérer le n° dans la zone des pointillés"
ce message serais une aide à la saisie.
j'ai trois message différents
mon problème, est que mon formulaire est dèjà fait, si je copie le commentaire de la cellule a1 dans a2
je copie l'intégralité de la cellule et de ce fais j'efface le contenu dans a2
je regardais dans le forum, il y la possibilité de le creer en VBA mais je ne comprends pas le VBA
merci
Là tu ne Copies/Colles pas le commentaire mais le contenu ! je pense que ce que tu veux c'est :
• Copier ""Double click dans la cellule et insérer le n° dans la zone des pointillés"
• Sélectionner la ou les cellules qui t'intéressent
• Insérer le texte copié en commentaire dans ces cellules. Ceci n'affectant nullement le contenu de la ou des cellules..
Est-ce ça ?
rebonjour,
j'ai joint un classeur
ma question n'est peux etre pas réalisable en l'etat.
c'est pour cela que je l'ai modifier ma demande
peux ton associer un commentaire a une cellule.
merci de vos reponses ou idees
Bonsoir Denis, bonsoir le forum,
En pièce jointe ton fichier modifié. Il fonctionne avec deux macro événementielles placé dans le composant ThisWorkbook qui réagissent au Clic du Bouton Droit et au Double-Clic. Comme j'utilise une variable publique il m'a fallu aussi rajouter une module standard : Module1. Le fonctionnement est simple et t'offre deux possibilités :
• Copier un commentaire existant et le coller en tant que commentaire dans une autre cellule, sans bien sûr altérer son contenu :
- Clic du Bouton Droit sur la cellule contenant le commentaire
- Clic du Bouton Droit sur la cellule cible recevant le commentaire
• Copier le texte d'une cellule et le coller en tant que commentaire dans une autre cellule, sans bien sûr altérer son contenu :
- Double-Clic dans la cellule contenant le texte
- Clic du Bouton Droit dans la cellule cible recevant le texte en tant que commentaire
Deux soucis liés à ce code :
• le Clic du bouton droit sur n'importe quelle cellule entraîne l'ouverture d'un menu contextuel qui permet, entre autres, d'ajouter/supprimer un commentaire. Or, si la cellule dans laquelle tu cliques avec le bouton droit contient déjà un commentaire, c'est la macro événementielle Clic du Bouton Droit qui prend le dessus et le menu contextuel n'apparaît plus. Cela veut dire que pour effacer un commentaire il te faudra passer par le menu Effacer du bandeau Accueil.
• Si tu constates un dysfonctionnement, clique avec le bouton droit sur n'importe quelle cellule vide pour réinitialiser la variable TC.
J'ai placé les macro événementielle dans le composant Thisworkbook ce qui fait qu'elles fonctionnent quel que soit l'onglet dans lequel tu te trouves. Cela pourrait être gênant dans certains onglets. On peut modifier le code pour palier ce problème...
Le code du Module1
Public TC As String 'déclare la variabe TC (Texte du Commentaire)Le code du composant ThisWorkbook
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 'au clic du bouton droit
Dim CEL As Range 'déclare la variable CEL (CELlule)
If TC = "" Then 'condition 1 : si TC est vide
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
TC = Target(1, 1).Comment.Text 'récupère le texte du commentaire dans la variable TC (génère une erreur si pas de commentaire)
If Err <> 0 Then 'condition 2 : si une erreur a été générée
Err.Clear 'efface l'erreur
TC = "" 'vide la variable TC
Else 'sinon
Cancel = True 'annule le menu contextuel lié au clic du bouton droit
Exit Sub 'sort de la procédure (le texte du commentaire est stocké dans la variable TC qui n'est plus vide)
End If 'fin de la condition 2
On Error GoTo 0 'annule la gestion des erreurs
Else 'sinon (si TC n'est pas vide)
Set CEL = Target.Cells(1, 1) 'définit la variable CEL (première cellule d'une plage fusionnée ou non)
Cancel = True 'annule le menu contextuel lié au clic du bouton droit
On Error Resume Next 'gestion des erreurs (en cas d'erreur passe à la ligne suivante)
CEL.Comment.Delete 'supprime un éventuel ancien commentaire (génère une erreur si pas de commentaire)
CEL.AddComment 'ajoute un comemntaire
CEL.Comment.Text Text:=TC 'définit le texte du commentaire
TC = "" 'vide la variable TC
End If 'fin de la condition 1
End Sub
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) 'au double-clic
If TC = "" Then TC = Target.Value: Cancel = True 'si TC est vide, récupère le texte (pas de commentaire) de la cellule
End SubLe fichier :