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

  • Initiateur de la discussion Initiateur de la discussion Benwoa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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,
 
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
 
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
 
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:
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)
 
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 ?
 
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
 
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:
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 !😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Retour