Insérer un commentaire dans la VBA

Bonjour,

Il y a quelques temps, je suis venu ici pour solliciter votre aider, l'un d'entre vous m'a énormément aidé à rendre ce tableau automatique.

Je reviens sur ce tableau, parce que j'aimerai ajouter un commentaire lors d'une saisie et que ce commentaire suit la cellule a laquelle il est rattaché.

j'explique:

Dans la feuille "FORMULAIRE" à la ligne 38 "statut du fait", j'aimerai insérer un commentaire a la cellule fusionné 38 D et E et que ca apparaisse sous forme de pop-up ou que ca reste affiché mais vierge quand il faudra compléter a nouveau le formulaire.

Quand on appui sur valider en dessous, le formulaire devient vierge et les information son stocké dans la feuille "SUIVI" et j'aimerai que le commentaire se retrouve à cet endroit la et par la suite se retrouve vierge dans le formulaire, sans que ca change la feuille "DECOMPTE"

Est-ce possible ?

Je vous remercie par avance de votre aide !

Bonjour,

Je crois bien que le commentaire se collera avec la cellule dans ta feuille suivi

Pour le commentaires à effacer dans la feuille Formulaire, tu peux essayer ceci

Peut-être juste ajouter ces petites lignes de codes manuelles dans la macro du module 1.. entre le End if et le End with

Range("D38:E38").Select
Selection.ClearComments
Range("D38").AddComment
Range("D38").Comment.Visible = True
Range("D38").Comment.Text Text:=""

Bonne fin de journée.

Bonjour,

Merci de ton aide !

J'ai rajouté les quelques lignes, ca marche correctement pour essayer le commentaire et mettre un texte par défaut pour moi.

Cependant, le commentaire n'est pas copié dans la cellule suivi. Je note un commentaire, la copie se fait pour tout sauf le commentaire et redevient vierge

Bonjour,

Je relance le sujet n'ayant toujours pas de solution

Merci par avance de votre soutient !

Bonjour

Dans votre fichier, le code s'arrete sur cette ligne avec une erreur

ShtSuivi.Cells(nLig, 1 + NumVal).Value = .Range(TabCel(NumVal)).Value

Avez-vous la même chose chez vous

Edit : Ok j'ai dupliqué la feuille Formulaire et supprimée l'ancienne.

Pour votre demande vous pouvez modifier ces lignes dans votre code

  With Sheets("FORMULAIRE")
    ' Pour chaque cellule à enregistrer
    For NumVal = 0 To UBound(TabCel)
      ' l'Inscrire dans le suivi
      If NumVal <> 10 Then
            ShtSuivi.Cells(nLig, 1 + NumVal).Value = .Range(TabCel(NumVal)).Value
        Else:
           ShtSuivi.Cells(nLig, 1 + NumVal).Value = .Range(TabCel(NumVal)).Value
            ShtSuivi.Cells(nLig, 1 + NumVal).AddComment
            ShtSuivi.Cells(nLig, 1 + NumVal).Comment.Shape.TextFrame.Characters.Text = .Range(TabCel(NumVal)).Comment.Text
            ShtSuivi.Cells(nLig, 1 + NumVal).Comment.Text Text:=""
        End If

    Next NumVal
'..... le reste de votre code

Par contre, juste un commentaire.

Vous devriez supprimer les colonnes fusionnées D et E. Cela n'apporte rien si ce n'est d'avoir parfois des soucis avec le code. Elargissez votre colonne D tout simplement. idem pour les lignes

Sinon c'est un joli fichier..

Bonjour Dan,

Merci de ton attention, je te republie le fichier en pièce jointe et colle le code dans son intégralité.

Merci par avance de votre aide !

Private Sub EnregistrerIncident()
  Dim ShtSuivi As Worksheet
  Dim nLig As Long, NumVal As Integer
  Dim ListeCel As String, TabCel() As String
  ' Liste des cellules à enregistrer
  ListeCel = "D9,D12,D14,D16,D19,D21,B24,D30,D34,D36,D38,D40,D42,D44"
  ' Créer un tableau des cellules
  TabCel = Split(ListeCel, ",")
  ' Définir la feuille de destination des données
  Set ShtSuivi = ThisWorkbook.Sheets("SUIVI")
  ' Numéro de la nouvelle ligne
  nLig = ShtSuivi.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Row
  ' Avec la feuille du formulaire
  With Sheets("FORMULAIRE")
    ' Pour chaque cellule à enregistrer
    For NumVal = 0 To UBound(TabCel)
      ' l'Inscrire dans le suivi
      ShtSuivi.Cells(nLig, 1 + NumVal).Value = .Range(TabCel(NumVal)).Value
    Next NumVal
    ' Si tout c'est bien passé
    If Err.Number = 0 Then
      ' On efface le contenu des cellules
      For NumVal = 0 To UBound(TabCel)
        .Range(TabCel(NumVal)).Value = ""
      Next NumVal
    End If
    Range("D38:E38").Select
 Selection.ClearComments
 Range("D38").AddComment
 Range("D38").Comment.Visible = True
 Range("D38").Comment.Text Text:="Plan d'action :"
  End With
End Sub

Edit Dan : fichier supprimé. Identique au premier posté dans ce fil

Merci de ton attention, je te republie le fichier en pièce jointe et colle le code dans son intégralité.

Dans mon Edit de mon post j'ai mis les lignes à modifier

Mais il faut aussi supprimer ces lignes

Range("D38:E38").Select
 Selection.ClearComments
 Range("D38").AddComment
 Range("D38").Comment.Visible = True
 Range("D38").Comment.Text Text:="Plan d'action :"

Faites le test dites moi si ok.

Rechercher des sujets similaires à "inserer commentaire vba"