Calcul des commentaires en vba

Résolu
julia Namor Messages postés 532 Statut Membre -  
julia Namor Messages postés 532 Statut Membre -
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. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Vous pouvez faire un ficher exemple, car additionner des commentaires nous semble pour le moins incongru
    0
  2. julia Namor Messages postés 532 Statut Membre 33
     
    Merci pierre1310
    Mais je ne comprends pas votre suggestion
    Bien à vous
    0
    1. Pierre1310 Messages postés 8854 Statut Membre 652
       
      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
  3. Frenchie83 Messages postés 2254 Statut Membre 339
     
    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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
  6. julia Namor Messages postés 532 Statut Membre 33
     
    Tout juste ce qu'il me fallait
    Bravo les gars.
    Merci beaucoup
    0
  7. julia Namor Messages postés 532 Statut Membre 33
     
    Je voudrais étendre la macro sur plusieurs lignes et écrire le résultat au bout de chaque ligne( comme ci dessus)
    je vous joins un fichier explicatif

    https://www.cjoint.com/c/ELCu1E3CrvA

    merci
    0
  8. julia Namor Messages postés 532 Statut Membre 33
     
    Bonjour *****
    Merci beaucoup f894009

    bonnes fetes
    0
  9. Pierre1310 Messages postés 8854 Statut Membre 652
     
    Bonjour,

    Tu peux tout copier, l'enregistrer dans un fichier texte puis lancer un script qui va compter les " ' " dans ton fichier
    -1
    1. julia Namor Messages postés 532 Statut Membre 33
       
      merci
      0