commentaire suivant texte cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

danyphil

XLDnaute Occasionnel
salut

Voila je m'explique:
sur mon planning, lorsque je rempli une celluele par CAr ou CAd je voudrais que mon commentaire se remplisse tout seul.
c'est à dire que si je tape CAd, un commentaire apparaisse lorsque je clique avec le bouton droit: remplacement demandé le (et que la date soit celle du jour ou on a tapé CAd
et idem pour CAr sauf que le commentaire :agent remplacé par:


voici ce que j'ai déja inseré mais je sias pas faire pour le texte automatique

et juste une derniere chose, pourquoi quand je clique sur le bouton droit mon commentaire rest affiché alors qu'il devrait disparaitre

Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
With ActiveCell
.ClearComments
.AddComment
.Comment.Visible = True
.Comment.Shape.Select True

' taille commentaire Width/longeur Height/largeur
With .Comment.Shape
.Width = 200
.Height = 20
End With
End With
' pour ne pas afficher le menu lors du clic droit
Cancel = True
End Sub


merci
 
Dernière édition:
Re : commentaire suivant texte cellule

Bonsoir Danyphil, bonsoir le forum,

Si j'ai bien compris (c'est rare...), essaie ce code :

Code:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
With Target
 
    .ClearComments
    .AddComment
    .Comment.Visible = True
    .Comment.Shape.Select True
 
    ' taille commentaire Width/longeur Height/largeur
    With .Comment.Shape
        .Width = 200
        .Height = 20
    End With
 
    If UCase(Target.Value) = "CAR" Then .Comment.Text Text:="Remplacement demandé le " & DateValue(Date)
    If UCase(Target.Value) = "CAD" Then .Comment.Text Text:="Agent remplacé par :"
    .Comment.Visible = False 'masque le commentaire
 
End With
' pour ne pas afficher le menu lors du clic droit
Cancel = True
End Sub
 
Re : commentaire suivant texte cellule

resalut

je te joint le lien car cela marche tres bien si c'est moi qui tape CAr mais cela ne fonctionne pas avec mes listes deroulantes

a essayer sur l'onlet "planning"

http://cjoint.com/?lttxWeGa6g

merci



Robert à dit:
Bonsoir Danyphil, bonsoir le forum,

Si j'ai bien compris (c'est rare...), essaie ce code :

Code:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
With Target
 
    .ClearComments
    .AddComment
    .Comment.Visible = True
    .Comment.Shape.Select True
 
    ' taille commentaire Width/longeur Height/largeur
    With .Comment.Shape
        .Width = 200
        .Height = 20
    End With
 
    If UCase(Target.Value) = "CAR" Then .Comment.Text Text:="Remplacement demandé le " & DateValue(Date)
    If UCase(Target.Value) = "CAD" Then .Comment.Text Text:="Agent remplacé par :"
    .Comment.Visible = False 'masque le commentaire
 
End With
' pour ne pas afficher le menu lors du clic droit
Cancel = True
End Sub
 
Re : commentaire suivant texte cellule

Bonsopir Danyphil. bonsoir le forum,

j'ai demandé au code de déprotéger l'onglet puis de le reprotéger à la fin. Pourquoi ? je ne sais pas mais sinon ça plante...

Tu avais remplacer CAD par CAd et CAR par CAr et comme j'utilisais les majuscules avec UCase ça ne convenait pas. J'ai donc supprimer UCase.

Je ne comprends pas car dans ta liste déroulande il n'y a pas CAd tout seul mais CAd1 et CAd2 de même il y a CAr1 et CAr2. Pour que tous les cas soient pris en compte j'ai utilisé Left(Target.Value, 3) qui renvoie les 3 premièrs caractères de la cellule en partant de la gauche.
Supprime cette fonction Left si ça ne te convient pas sauf que dans ce cas CAd n'apparaît jamais et la ligne correspondante ne servira à rien.

Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
ActiveSheet.Unprotect 'déprotège l'onglet
With Target
 
    .ClearComments
    .AddComment
    .Comment.Visible = True
    .Comment.Shape.Select True
 
    ' taille commentaire Width/longeur Height/largeur
    With .Comment.Shape
        .Width = 200
        .Height = 20
    End With
 
    If letf(Target.Value, 3) = "CAr" Then .Comment.Text Text:="Remplacement demandé le " & DateValue(Date)
    If Left(Target.Value, 3) = "CAd" Then .Comment.Text Text:="Agent remplacé par :"
    .Comment.Visible = False 'masque le commentaire
 
End With
' pour ne pas afficher le menu lors du clic droit
ActiveSheet.Protect 'protège l'onglet
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
514
Réponses
5
Affichages
947
Réponses
0
Affichages
789
Retour