créer un userform pour écrire des commentaires dans les cellules

pascal21

XLDnaute Barbatruc
bonsoir
pour un projet que j'aimerais créer, j'aurais besoin de quelques infos
tout d'abord,est-il possible lors d'un clic doit sur une cellule d'avoir un formulaire qui permettrait d'inscrire des données dans cette cellule mais que ces données ne soient visibles que uniquement lors du survol de la souris ou sur un double clic droit ou gauche un peu à la manière d'un commentaire mais un peu plus élaboré
merci
 

13GIBE59

XLDnaute Accro
Re : créer un userform pour écrire des commentaires dans les cellules

Bonsoir Pascal21

Essaie cette macro, trouvée sur l'excellent site de Boisgontier :

Saisie d'un commentaire avec InputBox sur double clic

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Target.Count = 1 Then
   With Target
     If .NoteText = "" Then
        reponse = InputBox("Commentaire?")
        If reponse <> "" Then
            .AddComment reponse & Chr(10) & "[" & Now() & "]"
            With .Comment.Shape.OLEFormat.Object.Font
              .Name = "Tverdana"
              .Size = 8
              .FontStyle = "Normal"
              .ColorIndex = 3
            End With
            .Comment.Visible = True
            .Comment.Shape.Select
            Selection.AutoSize = True
            .Comment.Visible = False
         End If
      Else
        .Comment.Delete
      End If
   End With
 End If
 Cancel = True
End Sub
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : créer un userform pour écrire des commentaires dans les cellules

Bonjour,

Saisie d'un commentaire dans un formulaire

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 UserForm1.Show
 Cancel=true
End Sub

Private Sub B_Ok_Click()
  On Error Resume Next
  With ActiveCell
   .AddComment
   On Error GoTo 0
   .Comment.Text Text:=Replace(Me.TextBox1, Chr(13), "")
   .Comment.Visible = True
   .Comment.Shape.Select
   Selection.AutoSize = True
   .Comment.Visible = False
  End With
  Unload Me
End Sub

Private Sub UserForm_Initialize()
  If ActiveCell.NoteText = "" Then
    UserForm1.TextBox1 = Now & Chr(10) & Environ("username") & Chr(10)
  Else
    UserForm1.TextBox1 = ActiveCell.NoteText
  End If
  Me.Left = 300
  Me.Top = 100
End Sub


JB
 

Pièces jointes

  • CommentaireSaisie2.xls
    25.5 KB · Affichages: 147

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : créer un userform pour écrire des commentaires dans les cellules

Bonjour 13Gibe59,

>Mais dans l'ouverture du UserForm, à quoi sert cette ligne :
Cancel = true ?


Pour annuler l'événement Clic-droit et éviter ainsi l'affichage du menu clic-droit (supprimer Cancel pour voir la différence)

JB
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG