Formules sur une liste de valeurs contenu dans une seule cellule

Jarod_lala

XLDnaute Nouveau
Bonjour,

j'ai des cellule qui contiennent des valeur séparées par des points-virgule.
j'aimerais pouvoir faire la somme de ces valeurs dans une autre cellule.

Exemple :
A1 contient "18;4"
je voudrais dans une autre cellule :
=SOMME(A1)
qui me renverrai 22.

Mais ça ne fonctionne pas.

J'ai voulu essayer avec la fonction EVALUER mais impossible de la trouver dans excel 2010.

Avez-vous une astuce pour faire ça simplement avec excel, ou doit-on forcément passer par du VBA ?

Merci a tous
 

CISCO

XLDnaute Barbatruc
Re : Formules sur une liste de valeurs contenu dans une seule cellule

Bonsoir

Une possibilité en pièce jointe, mais il faut utiliser la fonction Xl4 EVALUER dans le gestionnaire de noms, et pas directement dans la cellule, et il faut sauver dans un fichier acceptant les macros, donc en .xlsm.

Il te faudra supprimer le $ devant le A si tu ne mets pas tes "nombres" dans cette colonne A (Cf essai2).

@ plus
 

Pièces jointes

  • essai.xlsm
    8.6 KB · Affichages: 24
  • essai.xlsm
    8.6 KB · Affichages: 26
  • essai2.xlsm
    8.6 KB · Affichages: 26
  • essai2.xlsm
    8.6 KB · Affichages: 25
Dernière édition:

Jarod_lala

XLDnaute Nouveau
Re : Formules sur une liste de valeurs contenu dans une seule cellule

merci,

je vois l'idée, remplacer le séparateur par le +.

Mais par exemple si plutot qu'une fonction somme, je veux utiliser une fonction max ? qui doit considérer les donner comme une range ou une liste.

je vais faire des essais, avec ces premières pistes.
 

CISCO

XLDnaute Barbatruc
Re : Formules sur une liste de valeurs contenu dans une seule cellule

Bonjour

Si tu veux considérer le contenu de la cellule comme une série de valeurs, et pouvoir utiliser n'importe quelle fonction avec, ex SOMME, MAX..., je ne vois pas trop avec des formules. Il va certainement falloir passer, soit par des colonnes intermédiaires (avec "Données", "Convertir", "délimité;"point-virgule"), soit par du VBA.

@ plus
 

CISCO

XLDnaute Barbatruc
Re : Formules sur une liste de valeurs contenu dans une seule cellule

Bonjour

On peut faire avec une formule, mais comme elle est très longue, c'est mieux de donner des noms à certaines parties de cette formule (ce qui revient d'ailleurs à avoir des résultats intermédiaires dans des colonnes intermédiaires cachées).
Code:
MAX(liste1;liste2;liste3;liste4;liste5)

Dans le fichier ci-joint, j'ai traité le cas où tu aurais au max 5 termes, du style 18;5;4;6;10, que j'appelle liste1, liste2, liste3, liste4 et liste5.
Liste1 est défini dans le gestionnaire de noms avec
Code:
SIERREUR(1*STXT($A1;1;CHERCHE(";";$A1&";")-1);0)
Liste2 est défini par
Code:
SIERREUR(1*STXT($A1;CHERCHE("@";SUBSTITUE($A1&";";";";"@";1))+1;CHERCHE("@";SUBSTITUE($A1&";";";";"@";2))-CHERCHE("@";SUBSTITUE($A1&";";";";"@";1))-1);0)
Cette dernière formule est compliquée pour qu'elle soit plus polyvalente et facilement transformable pour donner liste3 et ainsi de suite. Pour obtenir la définition de ce dernier nom, il suffit de copier la définition précédente, et de remplacer quelques valeurs pour avoir finalement :
Code:
SIERREUR(1*STXT($A1;CHERCHE("@";SUBSTITUE($A1&";";";";"@";2))+1;CHERCHE("@";SUBSTITUE($A1&";";";";"@";3))-CHERCHE("@";SUBSTITUE($A1&";";";";"@";2))-1);0)

En fait, pour comprendre ces formules, il faut bien comprendre le rôle des paramètres de la fonction STXT. Le 1* sert à transformer le texte trouvé avec STXT en nombre.

Bien sûr, on peut utiliser d'autres fonctions que MAX avec ce principe (mais pas toutes).

@ plus

P.S : Je n'arrive pas à mettre les termes à changer en couleur sur le post. Dommage. C'est fait sur le fichier.
 

Pièces jointes

  • Classeuressai.xlsx
    9 KB · Affichages: 20
  • Classeuressai.xlsx
    9 KB · Affichages: 20
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Formules sur une liste de valeurs contenu dans une seule cellule

Bonjour

Une variante, acceptant plus de fonctions, en passant par des colonnes intermédiaires mises sur la feuille 2.

J'ai mis un "" au lieu du 0 final dans les formules définissant liste1, liste2 et ainsi de suite, pour ne pas faire apparaitre des 0 parasites (cela pose problème par exemple lorsqu'on cherche le MIN de la cellule).

@plus
 

Pièces jointes

  • Classeuressaibis.xlsx
    9.6 KB · Affichages: 23
Dernière édition:

Jarod_lala

XLDnaute Nouveau
Re : Formules sur une liste de valeurs contenu dans une seule cellule

merci a vous 2, ça marche.

Je n'utilise que très peu le gestionnaire de noms, sans doute une erreur...

Du coup une dernière question, pourquoi "EVALUER" fonctionne dans le gestionnaire de noms et pas dans une cellule directement ?
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 325
Membres
103 179
dernier inscrit
BERSEB50