Calcul des commentaires en vba

Résolu
Bonjour à tous

Je voudrais calculer la somme des commentaires sur une ligne pour l’écrire dans une cellule au bout de la ligne .
De ce fait j'ai crée une macro qui me récupére ( ou est censée récupérer) les commentaires en format texte , les découpe (len) puis convertit le texte en nombre pour le calcul.
Voilà trop compliqué pour moi , ( mais j'ai quand même essayé)
je vous joins le code qui ne fonctionne pas et fais appel à votre aide.

Bonnes Fetes!!!!!!

Sub tes()

Dim o As Range, i As String

For Each o In Sheets("feuill1").Range("$I$11:$N0$11")

If o.Comment.Text <> "" Then
'On Error Resume Next
i = 0.Comment.Text
Sheets("feuill1").Range("$NP$11").Value = Application.Sum(CInt((Right(i, Len(i) - 3))))
End If
Next
End Sub



J'espére que vous avez passé de bonnes fetes de Noel.

10 réponses

  1. Bonjour,

    Vous pouvez faire un ficher exemple, car additionner des commentaires nous semble pour le moins incongru
    0
    1. Merci pierre1310
      Mais je ne comprends pas votre suggestion
      Bien à vous
      0
      1. Tu dis vouloir compter le nombre de commentaires dans ton programme. je t'invite à copier ton programme, le coller dans notepad++, à utiliser la fonction recherche pour déterminer le nombre de tes commentaires
        0
    2. Bonjour
      Essayez ceci
      Sub tes()
          Application.ScreenUpdating = False
          Total=0
          On Error Resume Next
          Sheets("feuil1").Select
          For Each Item In Range("$I$11:$Z$11")
              Item.Activate
              Total = Total + CDbl(Replace(Item.Comment.Text, "rc:", ""))
          Next
          [AC11] = Total
      End Sub
      

      Cdlt
      0
      1. Re,

        un peu du meme style que Frenchie83 avec quelques controles en plus

        Sub tes()
            Dim o As Range, i As String, TC As Variant
            
            With Sheets("feuil1")
                .Range("$AC$11").Value = Empty  'raz cellule
                For Each o In .Range("$I$11:$Z$11")
                    If Not o.Comment Is Nothing Then    'cellule avec commentaire
                        TC = Split(o.Comment.Text, ":")     'recuperation nombre dans TC(1)
                        If IsNumeric(TC(1)) Then     'test si numerique
                            .Range("$AC$11").Value = .Range("$AC$11").Value + CDbl(TC(1))       'addition des nombres commentaires
                        End If
                    End If
                Next o
            End With
        End Sub
        
        0
        1. Tout juste ce qu'il me fallait
          Bravo les gars.
          Merci beaucoup
          0
          1. Bonjour *****
            Merci beaucoup f894009

            bonnes fetes
            0
            1. Bonjour,

              Tu peux tout copier, l'enregistrer dans un fichier texte puis lancer un script qui va compter les " ' " dans ton fichier
              -1
              1. merci
                0