Dans une formule connaître le nombre d'addition

Résolu/Fermé
Colefi - 29 avril 2021 à 13:10
 Colefi - 3 mai 2021 à 09:52
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

JCB40 Messages postés 2878 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 20 avril 2024 461
29 avril 2021 à 13:42
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
https://www.cjoint.com/c/KDDmdDvkYem
0
JCB40 Messages postés 2878 Date d'inscription lundi 2 juillet 2018 Statut Membre Dernière intervention 20 avril 2024 461
29 avril 2021 à 14:21
Pour moi cela est réalisable en ajoutant une colonne a chaque fois
Autrement je ne vois pas de solution
Crdlt
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PapyLuc51 Messages postés 4312 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 11 mai 2024 1 407
29 avril 2021 à 15:08
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
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
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié le 29 avril 2021 à 15:35
Bonjour à tous

ou avec une fonction personnalisée (macro)
https://www.cjoint.com/c/KDDnGHbSO4B

Cdlmnt
0
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
Raymond PENTIER Messages postés 58427 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 13 mai 2024 17 107
29 avril 2021 à 17:01
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
Colefi > Raymond PENTIER Messages postés 58427 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 13 mai 2024
29 avril 2021 à 17:19
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
Colefi > Colefi
29 avril 2021 à 17:40
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
ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024 139 > Colefi
29 avril 2021 à 18:51
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
Colefi > ALS35 Messages postés 1033 Date d'inscription jeudi 18 juillet 2019 Statut Membre Dernière intervention 9 janvier 2024
30 avril 2021 à 08:31
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
Raymond PENTIER Messages postés 58427 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 13 mai 2024 17 107
29 avril 2021 à 19:08
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
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
ccm81 Messages postés 10856 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 10 mai 2024 2 404
Modifié le 29 avril 2021 à 19:57
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
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
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
Modifié le 30 avril 2021 à 08:10
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
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
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216 > Colefi
30 avril 2021 à 10:36
Il faut être dans la zone d'édition des formules en haut pour valider en matricielle : https://www.cjoint.com/c/KDEiI6sXtFD
eric
0
Colefi > eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024
3 mai 2021 à 08:54
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
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216 > Colefi
3 mai 2021 à 09:21
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
Colefi > eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024
3 mai 2021 à 09:52
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
Ayant des obligations je ne peux regarder le forum jusque lundi. Je vous souhaite un bon week-end. A bientôt.
0
Raymond PENTIER Messages postés 58427 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 13 mai 2024 17 107
29 avril 2021 à 16:37
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