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)
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
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
2) en B1
=SUBSTITUE(FORMULE;"=";"")
3) en C1
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
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 !