Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Additionner tous les premiers nombres de mes cellules

Insigma

XLDnaute Nouveau
Bonjour

1. Je voudrais additionner le premier chiffre qui se situe à gauche de chaque cellule allant de A1 à C1

A1 - B1 - C1
texte - 844 - 754

> Le total serait ici 15 (8+7)

2. Bon déjà ça j'y arrive pas
Dans un deuxième temps, ça se complique.. car si mon nombre est sur 4 chiffres (je n'ai que 3 ou 4 chiffres à chaque fois, ou du texte), il faut que je prenne non plus le premier, mais les 2 premiers.

A1 - B1 - C1 - D1
texte - 844 - 754 - 1012

> Le total serait ici 25 (8+7+10)

merci !
Stan
 

sousou

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Bonjour Insigma
test cette formule pour la ligne 6 ici
=SI(NBCAR(B6)<43;GAUCHE(B6;1);GAUCHE(B6;2))+SI(NBCAR(C6)<4;GAUCHE(C6;1);GAUCHE(C6;2))+SI(NBCAR(D6)<4;GAUCHE(D6;1);GAUCHE(D6;2))
 

Efgé

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Bonjour Insigma, sousou, le fil, le forum,
Une proposition par fonction personalisée :
VB:
Private Function Cpt(L As Range)
Dim Var&, C As Range
Application.Volatile
For Each C In L
    If Len(C) > 2 Then If IsNumeric(C) Then Var = Var + Mid(C, 1, Len(C) - 2)
Next C
Cpt = Var
End Function
Cordialement
 

Pièces jointes

  • Insigma.xls
    18 KB · Affichages: 57

JNP

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Bonjour le fil ,
Une formule qui permet d'augmenter le nombre de colonnes facilement, comme la fonction d'Efgé ...
Code:
=SOMMEPROD((GAUCHE(B1:D1;NBCAR(B1:D1)-2)*1))
Bonne journée
 

Tibo

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Bonjour,

Pour compléter, une autre formule avec SOMMEPROD également :

Code:
=SOMMEPROD((ENT(B1:D1/100)*1))

@+
 

Insigma

XLDnaute Nouveau
Re : Additionner tous les premiers nombres de mes cellules

Merci à tous pour ces nombreuses pistes !
J'aime plus particulièrement la dernière solution qui me semble la plus simple.

Est-ce qu'on peut juste conditionner en plus sur le fait que ma cellule peut être du texte ?

J'avais pensé faire un truc comme ça :
=SOMMEPROD(SI(ESTNUM(GAUCHE(A11));(ENT(A11/100)*1)))
mais ça ne fonctionne pas.

Merci
 

Tibo

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Bonjour,

Tu n'étais pas loin.

Une solution avec une formule matricielle :

Code:
=SOMME(SI(ESTNUM(A1:D1);(ENT(A1:D1/100)*1)))

Formule matricielle à valider par CTRL + MAJ + ENTREE

@+
 

Insigma

XLDnaute Nouveau
Re : Additionner tous les premiers nombres de mes cellules

Je remonte ce sujet plutôt que d'en ouvrir un nouveau.

Bonjour !

Je reprends mon exemple précédent, j'y ajoute des cellules
A1 - B1 - C1 - D1 - E1 - F1 - G1 - H1
texte - 844 - 754 - 1012 - texte - texte - 481 - 684

Est-ce qu'il est possible d'utiliser la formule de Tibo, non plus sur la plage de cellules nommée A1 à H1 mais en ciblant les cellules qu'on veut tester ?

Pour être plus clair, je ne veux tester que les cellules D1, G1 et H1. Ce qui donnerait 20 (10+4+6)

merci..
 

hoerwind

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Bonjour, salut les autres,

Je suppose que lorsqu'on cible des cellules, celles-ci ne contiennent pas de texte.
=SOMME(ENT(D1/100);ENT(G1/100);ENT(H1/100))
 

Insigma

XLDnaute Nouveau
Re : Additionner tous les premiers nombres de mes cellules

Il peut y avoir du texte
C'est d'ailleurs bien là mon problème car il faut que je conserve mon premier test avec le ESTNUM, et je pensais naïvement que
=SOMME(SI(ESTNUM(D1;G1;H1);(ENT(D1;G1;H1/100)*1)))
aurait fonctionné. Mais non !
 

hoerwind

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Re,

Dans ce cas je ne vois à première vue qu'une addition de conditions :
=SOMME(SI(ESTNUM(D1);ENT(D1/100));SI(ESTNUM(G1);ENT(G1/100));SI(ESTNUM(H1);ENT(H1/100)))
 

Insigma

XLDnaute Nouveau
Re : Additionner tous les premiers nombres de mes cellules

Plutôt que d'avoir à changer la formule tous les mois (car tout ceci est pour un tableau de service des heures travaillées du personnel, et dans le dernier cas sur lequel on vient de m'aider, on traite les dimanches), est-il possible de paramétrer dans un tableau les cellules correspondant aux dimanches :

Code:
 Dimanches :
... AA
1. D1
2. G1
3. H1

et donc ma formule serait toujours
=SOMME(SI(ESTNUM(D1);ENT(D1/100));SI(ESTNUM(G1);ENT(G1/100));SI(ESTNUM(H1);ENT(H1/100)))

sauf que si je prenais les valeurs de mon tableau AA1, AA2 et AA3, ce serait beaucoup plus pratique !
=SOMME(SI(ESTNUM(AA1);ENT(AA1/100));SI(ESTNUM(AA2);ENT(AA2/100));SI(ESTNUM(AA3);ENT(AA3/100)))

J'espère que je suis clair ; en d'autres termes, est-il possible de traiter les coordonnées d'une cellule dans une cellule ?

Merci
 

hoerwind

XLDnaute Barbatruc
Re : Additionner tous les premiers nombres de mes cellules

Re,

C'est faisable par la fonction INDIRECT(), mais cela va fortement allonger la formule, d'autant plus si il y a plus de trois cibles.
Il me semble plus simple d'établir les calculs individuels en colonne AAB, et pourquoi pas avec une condition préliminaire qui ne retient que les dimanches.

Si cela ne te semble pas clair, mets un exemple en pièce jointe, ce sera plus facile pour te montrer comme faire.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…