XL 2016 Calculer une cellule au format texte

dad62

XLDnaute Occasionnel
Bonjour le forum,
Dans un cellule j'ai 6+16+4 quelqu’un aurai t'il une solution pour calculer cette opération dans une autre cellule , sans la ressaisir manuellement il y en a plus de 900 à faire.
Merci.
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu peux essayer avec données/convertir/délimité/Séparateur/ cocher "autres" et mettre "+" dans la fenêtre, destination choisir une cellule.

Ensuite tu fais la somme de ces données converties.

JHA
 

Pièces jointes

  • Classeur Dad62.xlsx
    8.8 KB · Affichages: 9

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Une solution "old fashion"
(en espétant que ce ne soit pas la même que JHA)
En imaginant que les données sont en colonne A
1) Insérer le nom suivant avec le gestionnaire de noms (CTRL+F3)
Dans Nom, saisir CALCULER et dans Fait référence à:=EVALUER(!A1)+(0*MAINTENANT())
Exemple d'utilisation:
Si en A1 on a:1+2+3
Saisir en B1:=CALCULER
on obtient bien:6
Et on peut recopier vers le bas
Si en A2, on a: 2*7+(10/2), alors B2 affichera 19
etc..
 

Dim.Reichart

XLDnaute Occasionnel
Bonsoir,
J'ai un début de formule, mais qui déconne quand le dernier nombre est a deux chiffres, je regarde après manger.
VB:
=SI(NBCAR($A1)-NBCAR(SUBSTITUE($A1;"+";""))>=COLONNES($C:C)-1;1*STXT($A1;
SI(COLONNES($C:C)=1;1;TROUVE(B1;$A1;1)+NBCAR(B1)+1);
SI(COLONNES($C:C)=1;TROUVE("+";$A1;1)-1;SIERREUR(-TROUVE("+";$A1;TROUVE(B1;$A1;1)+NBCAR(B1)+1);0)+NBCAR($A1)));"")
Tu mets ton 16+4+2 en A1, et cette formule en C1, et tu l'étends vers la droite, au moins autant de fois qu'il y a de + en A1, puis en B1, tu fais la somme(c1:m1).
Mais ça va déconner aussi s'il y a deux fois la même suite de chiffres dans l'opération.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir ;),

L'essai de ma pomme par formule.
VB:
=SIERREUR(CNUM(STXT(SUBSTITUE("+"&$A2&"+";"+";"\";COLONNES($A:A));CHERCHE("\";SUBSTITUE("+"&$A2&"+";"+";"\";COLONNES($A:A)))+1;CHERCHE("+";SUBSTITUE("+"&$A2&"+";"+";"\";COLONNES($A:A));CHERCHE("\";SUBSTITUE("+"&$A2&"+";"+";"\";COLONNES($A:A))))-CHERCHE("\";SUBSTITUE("+"&$A2&"+";"+";"\";COLONNES($A:A)))-1));"")
 

Pièces jointes

  • dad62- evaluer une somme formule- v1a.xlsx
    11.6 KB · Affichages: 5

Dim.Reichart

XLDnaute Occasionnel
J'ai réussi, mais ça demande d'occuper autant de cellules que de nombres( mais tu peux masquer ces colonnes).

VB:
{=SI(NBCAR($A1)-NBCAR(SUBSTITUE($A1;"+";""))>=COLONNES($C:C)-1;1*STXT($A1;
SI(COLONNES($C:C)=1;1;SOMME(NBCAR(B1:$C1))+NBVAL(B1:$C1)+1);
SI(COLONNES($C:C)=1;TROUVE("+";$A1;1)-1;SIERREUR(TROUVE("+";$A1;SOMME(NBCAR(B1:$C1))+NBVAL(B1:$C1)+1)-1;
NBCAR($A1))-SOMME(NBCAR(B1:$C1))-NBVAL(B1:$C1)));"")}
La formule est matricielle, et sur le même principe, il faut l'entrer en C1 puis l'étendre vers la droite d'autant de cellules que de nombres dans l'opération, et la somme de ces cellules en B1.
 

Pièces jointes

  • Exercice.xlsm
    50.7 KB · Affichages: 4

eriiic

XLDnaute Barbatruc
Bonjour,

pour revenir à la proposition de staple au #6, Evaluer() est une ancienne fonction Excel4.
Elle n'apparait plus dans les fonctions d'excel, mais est théoriquement toujours utilisable uniquement dans un nom, pas directement sur feuille.
Fonctionne sur 2010.
eric
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

mapomme
C'est pourtant dans les vieux pots qu'on fait les meilleures Sub ;)
Moi je les utilise pour me convaincre que je n'aime pas l’obsolescence programmée ;)
NB: On trouve encore dans les bonnes boulangeries le fichier macrofun.hlp ;)
PS: Certains bruits de couloir disent que Microsoft finira par faire disparaitre le VBA au profit de .NET
Mais sera-ce le même jour que ton tien? ;) Nul ne sait
 

Discussions similaires

  • Question
Microsoft 365 #N/A
Réponses
6
Affichages
245

Statistiques des forums

Discussions
312 294
Messages
2 086 893
Membres
103 404
dernier inscrit
sultan87