Séparer le texte du commentaire

fero7

XLDnaute Nouveau
bonjour,

Je veux récupérer le texte correspondant à chaque commentaire, il y'en a 80 au total (80 lignes différentes) Seulement je veux récupérer juste le texte et ne pas prendre en considération l'auteur de chaque commentaire.

Merci d'avance.
 

Victor21

XLDnaute Barbatruc
Re : Séparer le texte du commentaire

Bonjour, fero7, camarchepas :)

L'adaptation d'un code de J. Boisgontier :

VB:
Sub ListeCommentaires()
  mafeuille = ActiveSheet.Name
  Application.DisplayAlerts = False
  On Error Resume Next
  Sheets("TempNoms").Delete
  On Error GoTo 0
  Sheets.Add after:=Sheets(Sheets.Count)
  ActiveSheet.Name = "TempNoms"
  Set champ = Range("B3:B10")
  ligne = 2
  For Each c In Sheets(mafeuille).Comments
   If Not Intersect(Range(c.Parent.Address), champ) Is Nothing Then
     Sheets("TempNoms").Cells(ligne, 1) = c.Parent.Address
     Sheets("TempNoms").Cells(ligne, 2) = Right(c.Text, Len(c.Text) - 8)
     ligne = ligne + 1
   End If
  Next c
End Sub
 

zeltron24

XLDnaute Impliqué
Re : Séparer le texte du commentaire

Bonsoir Fero7 et Victor21

Voici une autre solution en ayant supprimé l'auteur dans les commentaires d'origine.
 

Pièces jointes

  • exemple 1.xlsm
    27.7 KB · Affichages: 49
  • exemple 1.xlsm
    27.7 KB · Affichages: 46
  • exemple 1.xlsm
    27.7 KB · Affichages: 52

zeltron24

XLDnaute Impliqué
Re : Séparer le texte du commentaire

Re,
Voici une petite macro permettant d'insérer un commentaire sans l'auteur
Code:
Sub Commentaire()
 If ActiveCell.Comment Is Nothing Then
  ActiveCell.AddComment   ' Création commentaire
  ActiveCell.Comment.Shape.OLEFormat.Object.Font.Name = "Arial"
  ActiveCell.Comment.Shape.OLEFormat.Object.Font.Size = 9
  ActiveCell.Comment.Shape.OLEFormat.Object.Font.FontStyle = "Normal"
  SendKeys "+{F2}"
 End If
End Sub

Sélectionner la cellule ou doit se trouver le commentaire et appliquer la macro via un BP ou autre
 

fero7

XLDnaute Nouveau
Re : Séparer le texte du commentaire

cette solution me permettra d'avoir le texte dans la cellule à coté? Au fait je veux une solution pour extraire carrément le contenu du commentaire mais sans l'auteur.
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Séparer le texte du commentaire

Bonsoir fero7, à tous,

Un essai avec une fonction personnalisée VBA: ExtComm(x) où x est la cellule dont on veut extraire le commentaire. Pour éliminer l'auteur, on ne prend pas en compte la première ligne du commentaire si cette dernière comporte le caractère : (deux points).

Exemple d'utilisation en cellule C3: =ExtComm(B3)

Si on modifie un commentaire, appuyez sur la touche de fonction F9 pour actualiser.

Le code de la fonction ExtComm:
VB:
Function ExtComm$(x As Range)
Dim t, n&, i&
Application.Volatile
  If Not x.Comment Is Nothing Then
    t = Split(x.Comment.Text, vbLf)
    If InStr(t(0), ":") > 0 Then n = 1 Else n = 0
    For i = 0 To UBound(t) - 1
      t(i) = Trim$(t(i + n))
    Next i
    ReDim Preserve t(0 To UBound(t) - n)
    ExtComm = Trim$(Join(t, ""))
  End If
End Function
 

Pièces jointes

  • fero7 - exemple 1 v1.xlsm
    20.8 KB · Affichages: 48
Dernière édition:

fero7

XLDnaute Nouveau
Re : MFC avec formule

Bonjour à tous,

je n'arrive pas à appliquer une MFC avec jeux d'icone de 3 couleurs différentes à mon tableau, à la 4e colonne j'ai inséré une formule SI(C3="";"";SI($B3-AUJOURDHUI()>5;"Pas encore";SI($B3-AUJOURDHUI()<=0;"Achevé";"A Lancer")))

Je veux appliquer une mise en forme à chaque résultat, de la manière suivante:

mercredi 18/06/2014 A Achevé (indicateur jaune)
dimanche 22/06/2014 B A Lancer (indicateur rouge)
lundi 23/06/2014 C A Lancer (indicateur rouge)
mardi 24/06/2014 D A Lancer (indicateur rouge)
mercredi 25/06/2014 E Pas encore (indicateur vert)
jeudi 26/06/2014 F Pas encore (indicateur vert)
samedi 28/06/2014 G Pas encore (indicateur vert)

Merci beaucoup pour votre précieuse aide.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 319
Messages
2 087 213
Membres
103 494
dernier inscrit
JP9231