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.