Somme lignes ayant des chaines différentes

Résolu
mboté -  
zorroestarrivé Messages postés 1849 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'ai une colonne excel qui renferme des noms différents par exemple.

A
A
C
F
F
Z
k

ce que j'aimerais avoir

somme A = 2
Somme F = 2
reste =3

merci d'avance
Configuration: Windows XP
Internet Explorer 6.0
excel 2003

9 réponses

  1. zorroestarrivé Messages postés 1849 Date d'inscription   Statut Membre Dernière intervention   522
     
    Salut,

    Tu peux utiliser pour cela les 3 formules suivantes:
    somme A = 2 => =NB.SI(Plage;"A")
    Somme F = 2 => =NB.SI(Plage;"F")
    reste =3 => =NB.SI(Plage;">""") - NB.SI(Plage;"A") - NB.SI(Plage;"F")
    ou =NB.SI(Plage;">""") - Cellule comptabilisant les "A" - Cellule comptabilisant les "F"

    Plage à définir selon ton tableau Excel

    A+
    1
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    NB.SI(A/A;"A")

    etc
    pour le reste:
    NBVAL(A:A) - moins somme de tes valeurs trouvées avec les NB.SI
    0
  3. mboté
     
    Merci pour vos réponses. ça m'a fait évoluer. Mais en fait mon tableau ne se présente pas exactement comme ci dessus mais comme ceci

    ABAT-prime
    ABAT-ter
    FIXE-second
    CELLULE-tertio
    FIXE-quatro
    DONNEE-ger

    L'objectif est toujours le même, avoir la somme de toutes les lignes dont le nom commnce par ABAT, la somme de toutes les lignes dont le nom commence par FIXE et la somme du reste.

    J'ai essayé letf(nb.SI(plage;"critère);nombre_car) mais cela ne marche pas

    Je compte sur les expérimentés
    Merci
    0
  4. Raymond PENTIER Messages postés 58226 Date d'inscription   Statut Contributeur Dernière intervention   17 490
     
    Il ne faut pas poser des questions simplistes, pour dire ensuite que la réalité du problème est plus complexe !
    Essaie toujours d'éclater tes données sur 2 colonnes (avant et après le trait d'union) et fais ton décompte sur la bonne colonne.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    j'ai encore bossé pour rien pour cause de question mal posée...
    J'abandonne donc cette discussion

    RAS-LE-BOL
    0
  7. mboté
     
    salut

    j'ai trouvé une solution, peut être archaique mais, elle marche

    <code>
    Sub test()
    Dim i As Integer
    Dim derli As Long
    Dim nbligne As Long

    nbligne = 0
    'dernière ligne
    derli = Columns().Find("*", , , , , xlPrevious).Row

    For i = 2 To derli

    If Left(Cells(i, "B"), 4) = "criètere" Then
    nbligne = nbligne + 1
    End If

    Next
    MsgBox ("nbligne = " & nbligne)
    < /code>
    End Sub
    0
  8. mboté
     
    Excusez moi les gars, c'était pas fait expres. Mille excuses. en fait c'est en testant vos propositions que je me suis rendu compte que la question n'était pas bien posée
    0
  9. zorroestarrivé Messages postés 1849 Date d'inscription   Statut Membre Dernière intervention   522
     
    Salut,

    Je suis comme michel_m et Raymond PENTIER, question mal posée à la base et cela décroit tes chances de résoudre ton souci!
    Mais il y avait une astuce (tout de même):
    - Créer une colonne à côté de celle où il y a les ABAT-prime, ABAT-ter... ou tu mets =GAUCHE(colonne ABAT...;4)
    - Tu fais ensuite les =NB.SI(Plage;"ABAT") etc
    et cela marchera, quitte à masquer la colonne intermédiaire.

    A+
    0
    1. mboté
       
      bonjour

      ta solution qui consiste à créer des colonnes à gauche m'interesse.Ce serait l'ideal pour moi. Si j'ai bien compris, je dois créer trois colonnes, une pour las ABAT GAUCHE(colonne ABAT...;4), une autre pour les FIXE GAUCHE(colonne FIXE...;4) et, la dernière de la colonne je fais comment?
      0
      1. zorroestarrivé Messages postés 1849 Date d'inscription   Statut Membre Dernière intervention   522 > mboté
         
        Salut,

        Je te conseille en final la solution d'éric (voir en dessous) car c'est la plus simple, l'astérisque permettant de prendre les textes commençant par ABAT.... ou FIXE...

        En clair cela ferait donc:

        somme ABAT... = 2 => =NB.SI(Plage;"ABAT*")
        Somme FIXE... = 2 => =NB.SI(Plage;"FIXE*")
        reste =3 => =NB.SI(Plage;">""") - NB.SI(Plage;"ABAT*") - NB.SI(Plage;"FIXE*")
        ou =NB.SI(Plage;">""") - Cellule comptabilisant les "ABAT...." - Cellule comptabilisant les "FIXE...."

        Est-ce OK pour toi?

        A+
        0
  10. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    ou bien: =NB.SI(A1:A10;"ABAT*")
    Bon, j'en remet pas une couche sur la question mal posée mais je suis solidaire ;-)

    eric
    0
    1. zorroestarrivé Messages postés 1849 Date d'inscription   Statut Membre Dernière intervention   522
       
      Salut Eric,

      En effet, excellente proposition.

      Il serait pas mal que mboté coche "résolu"

      Bonne soirée,

      A+
      0