Compter le nombre de valeur saisie dans une cellule amenant un resultat

Benwoa

XLDnaute Nouveau
Bonjour,

je cherche désespérément une formule me permettant de me donner le nombre exact saisi dans une cellule, je m'explique

en cellule A1 je rentre les valeurs suivantes précédées du signe égal (=10+5+10+25) soit un total de 50 dans cette cellule A1 et je souhaite à partir d'une formule à insérer en B1 connaitre le nombre d'entrées saisies (ici 4)

avez vous une idée ?

merci par avance pour votre aide,
 

Staple1600

XLDnaute Barbatruc
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Bonjour à tous

Benwoa [Bienvenue sur le forum]
Une piste à peaufiner
Code:
Function NValeur(r As Range) As Long
Dim i&, strg$
strg = r.Formula
For i = 1 To Len(strg)
  If Mid(strg, i, 1) Like "+" Then NValeur = NValeur + 1
Next
NValeur = NValeur + 1
End Function
 

Staple1600

XLDnaute Barbatruc
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Suite...

Une version qui prend en compte autre chose que le + ;)
Code:
Function NValeurII(r As Range) As Long
Dim i&, operateurs$, strg$
operateurs = "+-*/"
strg = r.Formula
For i = 1 To Len(strg)
If InStr(operateurs, Mid(strg, i, 1)) > 0 Then NValeurII = NValeurII + 1
Next
NValeurII = NValeurII + 1
End Function

exemple
en A1=5*25/4+10-0,25
en B1 =NValeurII(A1) renvoie 5
 

Staple1600

XLDnaute Barbatruc
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Re,

Si je l'avais en formule basique je l'aurai posté ;)
(sans VBA, je ne vois que l'emploi du langage macro XL4, ce qui n'est pas non plus du basique ;))

Pour l'utiliser, il suffit de copier la macro dans un module
(ALT+F11 puis Insertion/Module
Copier/coller dans la partie blanche
Puis revenir dans Excel (ALT+F11)
ensuite utiliser cette formule comme dans l'exemple de mon précédent message ;)

PS: Si ta recherche t’avait mener au désespoir, il t'en coutera peu de retrouver l'espoir en utilisant le VBA ;)
 
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Bonjour à tous,

une version qui montre la saisie dans un commentaire lié à la cellule

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    16.8 KB · Affichages: 27
  • 111.xlsm
    16.8 KB · Affichages: 28
  • 111.xlsm
    16.8 KB · Affichages: 30

Staple1600

XLDnaute Barbatruc
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Re, bonjour phlaurent

J'ai révise mon jugement après un second Ricoré et un jus d'orange ;)

On se rapproche avec cette formule basique
Code:
=1+SOMME(NBCAR(A1)-NBCAR(SUBSTITUE(A1;{"+";"-";"/";"*"};"")))

Mais cela fonctionne quand la cellule contient
1+2+3+4

mais cela ne fonctionne pas si la cellule contient la formule
=1+2+3+4

Je poursuis les investigations (mais je crois que je vais avoir besoin de macros XL4)
 

Staple1600

XLDnaute Barbatruc
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Suite

Ok c'est bon mais un peu long
Voir ce petit exemple
En A1, on a la formule suivante
=1+3+45+4/8
1) Insertion Noms.Définir
01FXL4.png
2) en B1
=SUBSTITUE(FORMULE;"=";"")
3) en C1
Code:
=1+SOMME(NBCAR(B1)-NBCAR(SUBSTITUE(B1;{"+";"-";"/";"*"};"")))
On obtient bien le résultat souhaité en C1, à savoir ici : 5

PS: J'ai un doute, mais il me semble que sur Excel 2013, il y a une formule pour afficher une formule:=FORMULE(A1)
à moins que ce soit dans LibreOffice ?
 

Benwoa

XLDnaute Nouveau
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Bonjour à tous (Staple & phlaurent)

je viens de lire vos derniers posts et merci pour ceux ci. Je vais m'atteler à la dernière proposition car celle proposée en VBA me parait un peu complex (désolé mais je ne suis pas un grand expert) - car j'ai copié le VBA en faisant Alt+F11 mais ensuite ?? je n'ai pas très bien compris ...pourriez vous m'expliquer plus en détail ?
merci
 

Staple1600

XLDnaute Barbatruc
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

Re


Maintenant que tu as mis un pied dans VBA, il te faudra pas longtemps pour mettre le deuxième ;)

PS: On a tous débuté un jour sur Excel ;)

NB: Tu peux renommer la fonction comme tu le souhaites
par exemple
Code:
Function BENWOA(r As Range) As Long
Dim i&, operateurs$, strg$
operateurs = "+-*/"
strg = r.Formula
For i = 1 To Len(strg)
If InStr(operateurs, Mid(strg, i, 1)) > 0 Then BENWOA = BENWOA + 1
Next
BENWOA = BENWOA + 1
End Function
et donc tu auras comme formule =BENWOA(A1)
;)
 
Dernière édition:

Benwoa

XLDnaute Nouveau
Re : Compter le nombre de valeur saisie dans une cellule amenant un resultat

euh merci pour votre soutien Staple mais sincèrement le langage VBA me parait quand même délicat ! même si votre réponse va beaucoup m'aider dans les prochains jours, je ne me vois pas rédiger un tel programme, un simple =somme ou recherchev me vont bien !!! après si ca s'apprend vite why not mais je doute quand même un peu ;)
mais un grand merci pour votre rapidité et votre patience !:eek:
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry