Grant a une cellule dans une feuille de calcul que lorsque quelqu’un commence à taper dans la cellule, il aimerait que tout ce qu’il tape se retrouve dans un commentaire attaché à la cellule. La cellule elle-même doit rester vide, mais le commentaire doit contenir tout ce qui a été tapé.

La seule façon d’accomplir cette tâche consiste à utiliser une macro.

À l’aide des fonctionnalités de gestionnaire d’événements d’Excel, vous pouvez créer une macro qui est déclenchée chaque fois qu’une cellule est modifiée. Si la cellule modifiée se trouve être la cellule à laquelle vous souhaitez associer le commentaire, vous pouvez transférer le contenu de la cellule vers le commentaire et le supprimer de la cellule elle-même. La courte macro suivante fera cela:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rCell As Range     Dim sTemp As String

Set rCell = Range("B4")

If Not Intersect(Target, rCell) Is Nothing Then         sTemp = rCell.Value         rCell.ClearComments         If Len(sTemp) > 0 Then             Application.EnableEvents = False             On Error Resume Next             rCell.AddComment             rCell.Comment.Text Text:=sTemp             On Error GoTo 0             rCell.ClearContents             Application.EnableEvents = True         End If     End If End Sub

Notez que puisqu’il s’agit d’un gestionnaire d’événements, il doit être ajouté au module de code de la feuille de calcul que vous souhaitez affecter. Dans ce cas, le code de passage au commentaire est déclenché uniquement lorsqu’une modification est effectuée dans la cellule B4; cette adresse peut être modifiée dans le code, si vous le souhaitez.

Il convient également de noter que cette macro n’est déclenchée qu’une fois que l’utilisateur a fini d’entrer quelque chose dans la cellule B4. Il n’est pas déclenché lorsque l’utilisateur commence à taper. Ainsi, la saisie de données réelle se produit toujours dans la cellule B4, pas dans le commentaire lui-même. En outre, si quelqu’un tape quelque chose dans la cellule B4, tout commentaire existant est perdu car la macro le supprime avant de déplacer le contenu de la cellule dans le commentaire.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13511) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.