klin89
XLDnaute Accro
Bonsoir le forum,
A l'ouverture du fichier saisir klin89 dans l'inputbox ----> Workbook_Open()-----> Rien à craindre (Code de Job75 décliné)
Dans le module de la feuille "2012", j'ai placé cette macro qui colorie successivement (3 couleurs) le montant déjà saisi, puis ajoute un commentaire.
Dans l'ajout du commentaire, à chaque début de ligne figure le montant inséré de la target, or j'aimerais que ce montant conserve la couleur attribué lors du double clic.
Actuellement, seule la couleur au dernier double clic (dernier ajout dans le commentaire) est conservée.
Comment puis-je conserver les couleurs initialement appliquées.
	
	
	
	
	
		
Worksheet_Change est construit sur le même modèle.
Je ne vois pas comment procéder, j'ai pensé à splitter le commentaire, chercher les positions et les couleurs du premier caractère de chaque ligne de commentaire, les placer dans 2 variables tableau puis après je me perds 😕
Pouvez-vous m'aider ?
Klin89
	
		
			
		
		
	
				
			A l'ouverture du fichier saisir klin89 dans l'inputbox ----> Workbook_Open()-----> Rien à craindre (Code de Job75 décliné)
Dans le module de la feuille "2012", j'ai placé cette macro qui colorie successivement (3 couleurs) le montant déjà saisi, puis ajoute un commentaire.
Dans l'ajout du commentaire, à chaque début de ligne figure le montant inséré de la target, or j'aimerais que ce montant conserve la couleur attribué lors du double clic.
Actuellement, seule la couleur au dernier double clic (dernier ajout dans le commentaire) est conservée.
Comment puis-je conserver les couleurs initialement appliquées.
		VB:
	
	
	Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Change la couleur de la cellule au double-clic
If Intersect(Target, Range("B3:M" & Range("A65536").End(xlUp).Row - 3)) Is Nothing Then Exit Sub
If IsEmpty(Target) Then Exit Sub
Application.EnableEvents = False
Cancel = True
With Target.Font
  Select Case .ColorIndex
    Case Is = xlAutomatic
        .ColorIndex = 5 'Bleu
    Case 5
        .ColorIndex = 3 'rouge
    Case Else
        .ColorIndex = xlAutomatic 'noir
  End Select
  .Bold = IIf(.ColorIndex = xlAutomatic, 0, 1)
End With
If Target.NoteText = "" Then Target.AddComment: Pos = 1 ' Création commentaire
If Pos <> 1 Then
  Pos_dernier_vblf_commentaire = InStrRev(Target.Comment.Text, vbLf)
  Pos = InStrRev(Target.Comment.Text, vbLf, Pos_dernier_vblf_commentaire) + 1
End If
  With Target.Comment
    .Text Text:=.Text & Format(Target.Value, "# ##0.00 €") & " modifié par " & NomUtilisateur & " le : " & Date & " à " & Time & vbLf
    .Visible = True
    .Shape.DrawingObject.AutoSize = True
    .Visible = False
  End With
  lg = Len(Target.Comment.Text)
  lg1 = Len(Target.Text) + 3
  coul = Target.Font.ColorIndex
  With Target.Comment.Shape.TextFrame
    .Characters(Start:=1, Length:=lg).Font.Name = "Verdana"
    .Characters(Start:=1, Length:=lg).Font.Size = 12
    .Characters(Start:=1, Length:=lg).Font.ColorIndex = 1
    .Characters(Start:=1, Length:=lg).Font.Bold = False
    .Characters(Start:=1, Length:=lg).Font.Italic = False
    .Characters(Start:=Pos, Length:=lg1).Font.Bold = True
    .Characters(Start:=Pos, Length:=lg1).Font.ColorIndex = coul
  End With
Application.EnableEvents = True
End Sub
	Worksheet_Change est construit sur le même modèle.
Je ne vois pas comment procéder, j'ai pensé à splitter le commentaire, chercher les positions et les couleurs du premier caractère de chaque ligne de commentaire, les placer dans 2 variables tableau puis après je me perds 😕
Pouvez-vous m'aider ?
Klin89
Pièces jointes
			
				Dernière édition: