Dans une formule connaître le nombre d'addition

Résolu
Colefi -  
 Colefi -
Bonjour,

Je m'explique dans une cellule j'ai additionné plusieurs chiffres par exemple :
10,50+5,25+3,00 ce qui me donne comme total 18.75
- Premièrement j'aimerais connaitre le nombre de chiffre pris en compte dans la cellule (qui est donc 3)
- Deuxièmement, comme j'ai plusieurs cellules de ce type dans une colonne avec des cellules vides faire le total de cette colonne.

Auriez-vous une idée de formule ?

Merci par avance.

Configuration: Windows / Chrome 90.0.4430.93

13 réponses

  1. JCB40 Messages postés 3058 Date d'inscription   Statut Membre Dernière intervention   479
     
    Bonjour,
    Un exemple de votre fichier avec explications serait le bienvenu.
    Pour transmettre un fichier,
    Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
    il faut passer par un site de pièce jointe tel que cjoint.com

    Allez sur ce site : https://www.cjoint.com/
    Clic sur parcourir,
    Cherche ton fichier,
    clic sur ouvrir,
    Clic sur "Créer le lien cjoint",
    Copier le lien,
    Revenir ici le coller dans une réponse...
    Cordialement

    0
  2. JCB40 Messages postés 3058 Date d'inscription   Statut Membre Dernière intervention   479
     
    Pour moi cela est réalisable en ajoutant une colonne a chaque fois
    Autrement je ne vois pas de solution
    Crdlt
    0
  3. Colefi
     
    D'accord, je peux le faire mais est-ce qu'il y a une formule par jour qui puisse me dire combien il y a de CB ?
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. PapyLuc51 Messages postés 4568 Date d'inscription   Statut Membre Dernière intervention   1 511
     
    Salutations

    Colefi à mon avis il faudra une ligne par CB ou comme le dit JCB40 un colonne à coté pour inscrire le nombre de CB.

    Dans le deuxième cas une simple somme dans le premier cas la formule =NB.SI(la plage;">0")

    Cordilament
    0
  6. Colefi
     
    Merci, mais j'ai créé une colonne devant les montant CB, j'ai collé la formule devant et j'ai mis par exemple pour la ligne 1 colonne A
    la formule ci-joint :
    =NB.SI(B1;">0") et cela me donne 1
    alors que dans la cellule B1 j'ai rentré (=2,4+6,9+15,7+9,8+9,8) qui est le total de 5 CB.
    Je pense que ce n'est pas la bonne formule ou bien je me suis trompée sur la plage ?
    0
  7. Colefi
     
    Merci beaucoup pour vos réponses à tous.
    J'ai essayé la formule de Raymond mais cela m'indique une fois que je l'ai mise en bas de ma colonne CB (#N/A), mais peut-être l'ai je mal placée ?
    Je vais essayé la macro par la suite.
    0
    1. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
       
      J'ai répondu à ta première question. Tu as bien vu qu'elle ne fait référence qu'à la cellule A1, et pas à toute ta colonne ?
      J'attendais de savoir si elle te convenait avant de m'intéresser à la deuxième !
      0
    2. Colefi > Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Milles excuses Raymond, j'étais resté sur le fait qu'il n'y avait pas besoin de colonne supplémentaire comme indiqué à la fin de ton message, donc j'ai enlevé celle que JCB40 et PapyLuc51 m'avait conseillé d'ajouter devant ma colonne CB. Je retente.
      0
    3. Colefi > Colefi
       
      J'ai essayé sur une première case qui ne contenait qu'un seul chiffre et cela m'indique le message (#N/A) par contre sur la deuxième case qui contient une série de plusieurs montant cela fonctionne. C'est super ! Peux-être qu'il faut rajouter une fonction pour le chiffre seul ?
      0
    4. ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention   147 > Colefi
       
      Bonjour à tous,

      Un essai en m'inspirant de la l'idée de Raymond, sincères salutations, avec la fonction FORMULETEXTE, que je ne connaissais pas, en C22 :
      =SOMME(SI(C4:C19="";"";SIERREUR(NBCAR(FORMULETEXTE(C4:C19))-NBCAR(SUBSTITUE(FORMULETEXTE(C4:C19);"+";""));0)+1))

      À recopier pour les autres colonnes.

      Attention, formule matricielle à valider par Maj+CTRL+Entrée, elle se met alors automatiquement entre accolades ({}).

      Cordialement
      0
    5. Colefi > ALS35 Messages postés 1034 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour ALS35,
      J'ai tenté mais cela me note #valeur puis j'ai essayé Maj+CTRL+Entrée, mais rien n'a bougé. J'ai quand même tenté de recopier sur d'autre colonne et il m'a indiqué ######. Pour la touche Maj j'ai pris celle qui est à gauche indiquée par une flêche vers le haut et non le vérouillage.
      Merci quand même pour la formule.
      0
  8. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour Colefi.

    Il te faudra autant de patience que nous en avons ...
    En effet tu n'as pas l'air de te rendre compte de la complexité du problème que tu nous présentes : Dans ta colonne CB tu as à la fois des cellules vides, des cellules avec un nombre, et enfin des cellules avec des formules ! Cela fait 3 catégories de cellules, pour lesquelles les opérations ne sont pas forcément les mêmes ...
    Si, en cellule K18, au lieu de saisir la
    donnée numérique 7
    tu avais saisi la
    formule =7
    , cela aurait beaucoup facilité nos interventions.
    0
    1. Colefi
       
      Bonjour Raymond,
      J'ai bien compris que la tache était complexe, c'est pour cela que j'ai fait appel à vous tous car cela dépasse mes petites compétences.
      Effectivement en mettant un égal à mes chiffres seul cela me donne un résultat mais qui n'est pas le bon car il m'indique 2 alors qu'il n'y a qu'un montant. De plus je n'avais pas fait attention hier, mais la case avec 5 montants a fonctionné mais elle m'indique 8 alors qu'il y a 5 montants (=6.9+6.9+7+19.6+7).
      Je continue avec d'autres solutions.
      0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    as tu essayé la macro ?
    Si oui,
    If Left(s, 1) <> "" Then s = s & "+"

    à remplacer par
    If s <> "" Then s = s & "+"

    ça fera pareil, mais c'est plus joli ;-)

    Bonne soirée à tous ou presque
    0
    1. Colefi
       
      Bonjour ccm81,
      Je n'ose essayé une macro car j'en ai déjà une pour la feuille de calcul qui surligne toute la ligne et la colonne du curseur.
      J'ai peur que cela fasse interaction ou n'efface cette macro. Elle m'est très pratique car j'ai en fait d'autres tableaux sur cette feuille et pour m'y retrouver et ne pas perdre le fil j'ai créé cette fonction que j'ai trouvé dans divers forum.
      0
  10. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour à tous,

    par formule et sans colonne supp :
    =SOMMEPROD(SIERREUR(SI(C4:C19="";0;NBCAR(FORMULETEXTE(C4:C19))-NBCAR(SUBSTITUE(FORMULETEXTE(C4:C19);"+";""))+1);1)) 

    formule matricielle à valider avec Shift+Ctrl+Entrée

    Bizarrement, elle ne peut être mise dans une cellule fusionnée (1ère fois que ça m'arrive)
    Une fusion peut être faite ensuite
    eric

    PS : pas de texte dans la plage, ça compliquerait encore plus
    Avec texte :
    =SOMMEPROD(SIERREUR(SI(C4:C19="";0;SI(ESTTEXTE(C4:C19);0;NBCAR(FORMULETEXTE(C4:C19))-NBCAR(SUBSTITUE(FORMULETEXTE(C4:C19);"+";""))+1));1))


    0
    1. Colefi
       
      Bonjour Eric,
      J'ai essayé et cela a fonctionné mais cela m'indique le chiffre 1 alors qu'il y a 6 montants.
      J'ai tenté aussi de valider par Shift+Ctrl+Entrée rien n'y a fait.
      Après je fait peut-être une mauvaise manip : je copie la formule sur le forum je la colle tout simplement puis j'effectue la validation.
      0
      1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281 > Colefi
         
        Il faut être dans la zone d'édition des formules en haut pour valider en matricielle : https://www.cjoint.com/c/KDEiI6sXtFD
        eric
        0
      2. Colefi > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ca fonctionne, c'est formidable ! Merci énormément cela va me faire gagner un temps précieux car sinon j'aurais été obligé de retourner sur chaque cellule, compter le nombre de montants et aller l'écrire cela multiplié par 3 tableaux plus par mois .
        Puis-je abusé en te demandant de m'expliquer ce que veut dire cette formule pour un non aguerri comme moi car j'aime bien comprendre .
        0
      3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281 > Colefi
         
        Bonjour,
        je fais la différence de longueur de chaine entre celle d'origine et la même débarrassée de ses "+"
        +1 pour avoir le nombre de valeurs
        Avec des tests supplémentaires pour traiter les nombres seuls et les cellules vides qui génèrent une erreur.
        Et un sommeprod() pour faire le total car on traite la plage en une fois.
        eric
        0
      4. Colefi > eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention  
         
        J'ai compris au bout d'une deuxième réflexion mais c'est logique, c'est digne d'un programmeur.
        Encore merci et bonne journée.
        0
  11. Colefi
     
    Ayant des obligations je ne peux regarder le forum jusque lundi. Je vous souhaite un bon week-end. A bientôt.
    0
  12. Raymond PENTIER Messages postés 58211 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour à tous.

    Je me suis bien amusé, et vous propose une (longue) formule ; donc pas de macro ni de fonction personnalisée, ni même de colonne supplémentaire :
    =NBCAR(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(FORMULETEXTE(A1);0;"");1;"");2;"");3;"");4;"");5;"");6;"");7;""); 8;"");9;""))

    -1