[Résolu] SOMMEPROD retourne #VALEUR!

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Le-nico
Fraîchement OOthentifié
Messages : 5
Inscription : 17 févr. 2018 23:26

[Résolu] SOMMEPROD retourne #VALEUR!

Message par Le-nico »

Bonjour,

Je début avec Calc et j'ai un souci avec SOMMEPROD.

Des cellules dans un colonne contiennent des éléments avec une valeur associée.

Exemple :
Cellule 1 = Cadeaux 10 Unité(s), Bonbons 30 Unité(s), Gâteaux 15 Unité(s)
Cellule 2 = Bonbons 10 Unité(s), Gâteaux 25 Unité(s)
Cellule 3 = Bonbons 10 Unité(s)
etc...

J'arrive à extraire la valeur associée à un "objet recherché" dans chacune des cellules avec une formule suivante :

Code : Tout sélectionner

CNUM(GAUCHE(DROITE(A1;NBCAR(A1)-(TROUVE(E1;A1)+NBCAR(E1)));TROUVE("Unité(s)";DROITE(A1;(NBCAR(A1)-(TROUVE(E1;A1)+NBCAR(E1)))))-2))
E1 contenant l'objet recherché (exemple "Bonbons") et A1 la cellule dans laquelle j'extrait la valeur

Puis avec SOMMEPROD je souhaites faire l'addition de ces valeurs :

Code : Tout sélectionner

SOMMEPROD(CNUM(GAUCHE(DROITE($A$1:$A$3;NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)));TROUVE("Unité(s)";DROITE($A$1:$A$3;(NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)))))-2)))
Tout se passe bien si l'objet recherché est présent dans toutes les cellules, mais si une dès cellules ne contient pas l'objet alors le SOMMEPROD me retourne une erreur.

Cela fait 2h que je suis dessus, et je pense que la réponse au problème doit être toute simple mais je but...

Quelqu'un aurait-il une solution.

merci d'avance.
Test.ods
Tableau de test
(10.01 Kio) Téléchargé 45 fois
Dernière modification par micmac le 18 févr. 2018 15:04, modifié 3 fois.
Raison : Ajout coche verte
Apache OpenOffice 4.1.5
Système d'exploitation Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: Problème avec SOMMEPROD quand formule retourne #VALEUR!

Message par OOotremer971 »

Salut,

Ajoute en premier paramètre de SOMMEPROD() :

Code : Tout sélectionner

SI(NON(ESTERREUR(TROUVE(E1;$A$1:$A$3)))
soit en E5 :

Code : Tout sélectionner

=SOMMEPROD(SI(NON(ESTERREUR(TROUVE(E1;$A$1:$A$3)));CNUM(GAUCHE(DROITE($A$1:$A$3;NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)));TROUVE("Unité(s)";DROITE($A$1:$A$3;(NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)))))-2));NON(ESTERREUR((TROUVE(E1;$A$1:$A$3)+NBCAR(E1))))))
@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9222
Inscription : 28 août 2010 10:45

Re: SOMMEPROD retourne #VALEUR!

Message par micmac »

Bonjour et bienvenue sur le forum,
votre signature a écrit : OpenOffice 4.0.1
Win10
Votre signature indique une version de OpenOffice qui n'est plus maintenue.
Est-ce une une erreur, un oubli, un choix, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par "Obligation de version".

Pour connaître la version que vous possédez : https://forum.openoffice.org/fr/forum/v ... 582#p11582

Il est fortement recommandé d'être à jour de la dernière version : Soyez à jour de la dernière version

Dans votre signature il est nécessaire d'indiquer :
1- La version exacte de AOO ou LibO (AOO 4.1.5, LibO 5.3.7 par exemple) ;
2- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 17.04, MacOS 10.13.3, par exemple).
Accès direct à votre signature pour la corriger.

Cordialement.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Le-nico
Fraîchement OOthentifié
Messages : 5
Inscription : 17 févr. 2018 23:26

Re: Problème avec SOMMEPROD quand formule retourne #VALEUR!

Message par Le-nico »

OOotremer971 a écrit :Salut,

Ajoute en premier paramètre de SOMMEPROD() :

Code : Tout sélectionner

SI(NON(ESTERREUR(TROUVE(E1;$A$1:$A$3)))
soit en E5 :

Code : Tout sélectionner

=SOMMEPROD(SI(NON(ESTERREUR(TROUVE(E1;$A$1:$A$3)));CNUM(GAUCHE(DROITE($A$1:$A$3;NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)));TROUVE("Unité(s)";DROITE($A$1:$A$3;(NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)))))-2));NON(ESTERREUR((TROUVE(E1;$A$1:$A$3)+NBCAR(E1))))))
@+
merci de ta réponse mais cela ne fonctionne pas. J'avais déjà tenté quelque chose de similaire en vain.

J'ai effectué la mise à jour de la version de AOO et rectifié ma signature.
Apache OpenOffice 4.1.5
Système d'exploitation Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: SOMMEPROD retourne #VALEUR!

Message par OOotremer971 »

Bonjour et désolé. D'habitude je fais attention à la signature avant de proposer une réponse.
Bon en fait ça fonctionne avec LO mais aussi avec AOO sauf que pour ce dernier, il faut valider la formule en maintenant les touches Ctrl+Maj enfoncées avant d'appuyer sur entrée. Si la formule est déjà saisie, il faut supprimer le signe = qui la précède, le ressaisir puis valider par Ctrl+Maj+Entrée

@+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Le-nico
Fraîchement OOthentifié
Messages : 5
Inscription : 17 févr. 2018 23:26

Re: SOMMEPROD retourne #VALEUR!

Message par Le-nico »

Je te remercie beaucoup, tout fonctionne maintenant je vais pouvoir avancer
Apache OpenOffice 4.1.5
Système d'exploitation Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 15:31

Re: SOMMEPROD retourne #VALEUR!

Message par OOotremer971 »

Re,

Je m'aperçois en me relisant que j' avais déjà tenté une séquence

Code : Tout sélectionner

NON(ESTERREUR((TROUVE(E1;$A$1:$A$3)+NBCAR(E1)))))
en fin de formule qui ne fonctionne pas et que j'ai oublié de retirer.
La formule finale est donc :

Code : Tout sélectionner

=SOMMEPROD(SI(NON(ESTERREUR(TROUVE(E1;$A$1:$A$3)));CNUM(GAUCHE(DROITE($A$1:$A$3;NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)));TROUVE("Unité(s)";DROITE($A$1:$A$3;(NBCAR($A$1:$A$3)-(TROUVE(E1;$A$1:$A$3)+NBCAR(E1)))))-2))))
@+
 Ajout : PS : Lorsqu'un sujet a trouvé réponse satisfaisante, il d'usage de baliser le titre du premier message du fil comme résolu : Comment faire 
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
Répondre