Où est l'erreur de syntaxe?

  • Initiateur de la discussion Initiateur de la discussion chikai77
  • 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 !

chikai77

XLDnaute Nouveau
j'additionne une série cellules, il est possible que le résultat d'une de ces cellules soit #div0!.
j'ai donc rédigé la formule suivante afin que l'addition puisse être réalisée malgré les "erreurs".

y a t-il un problème de syntaxe?

{=SOMME(SI(ESTERREUR(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3;P3;R3;S3;T3;U3);"";(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3;P3;R3;S3;T3;U3)))}

Merci de votre collaboration.
 
Re : Où est l'erreur de syntaxe?

Bonsoir,
Essaies comme cà :
{=SI(ESTERREUR(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3 ;P3;R3;S3;T3;U3);"";SOMME(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3 ;P3;R3;S3;T3;U3)}.
Je ne sais pas si les crochets sont bien utiles (formule matricielle).
Bonne soirée et tiens-nous au courant.
 
Re : Où est l'erreur de syntaxe?

Bonsoir Chikai, bonsoir Criscris,

A mon avis, cela ne fonctionnera pas bien avec des erreurs comme #DIV0 car les critères de somme.si sont limités; on ne peut pas faire:

Somme.si(plage;non(esterreur(plage)).

La seule solution que j'ai trouvée est la suivante:

Code:
=SOMME.SI(C4:C26;">0")+SOMME.SI(C4:C26;"<0")

Pour moi, il vaut mieux si c'est possible traiter la plage de cellules pour gérer le #DIV0 comme par exemple:

Code:
=SI(B11=0;0;C10/B11)

Ce qui permettra d'utiliser une fonction somme classique.

@+

Gael
 
Re : Où est l'erreur de syntaxe?

Re,
Non Chikai, je ne pense pas que cela vienne qu'il n'y a pas d'erreurs sur la ligne. Pourrais-tu poster un bout de fichier ?

Bonsoir Gaël et merci pour les précisions. Par contre je sais que cela fonctionne bien avec MOYENNE qui je me suis servi cet après-midi encore.
Crois-tu qu'un SOMMEPROD pourrait faire l'affaire ?

Bonne soirée à tous les deux et à ceux qui ne sont toujours pas couché.
PS : je suis en vacances.
 
Re : Où est l'erreur de syntaxe?

Bonsoir Gaël et merci pour ta réponse

Je me permets de corriger et de te faire savoir que cela fonctionne avec #div0 car j'ai déjà réalisé plusieurs formules similaires.

ex:=(SOMME(SI(ESTERREUR(M3😛3);"";M3😛3))/SOMME($M$2:$P$2))*$Q$2 et elle fonctionne admirablement.

étant débutant, je ne comprend pas bien les formules que tu proposes.
 
Re : Où est l'erreur de syntaxe?

Re,

Le Sommeprod est encore plus sensible à ce genre d'erreurs.

Par contre la formule suivante fonctionne bien:

Code:
=SOMME(SI(ESTERREUR(C4:C26);0;C4:C26))

Formule matricielle (Ctrl-Maj-Entrée).

@+

Gael
 
Re : Où est l'erreur de syntaxe?

Re,

Pour les formules proposées:

le double Somme.si permet de totaliser les nombres positifs seulement puis les négatifs seulement, ce qui élimine les 0 et les erreurs.

L'autre formule permet simplement de remplacer par "" ou 0 le résultat de formules si le diviseur est nul au lieu d'obtenir un #DIV0 pas très élégant dans un tableau.

@+

Gael
 
Re : Où est l'erreur de syntaxe?

bonsoir chikai77, le forum

ce n'est toujours pas la bonne.

est-il possible que cela ne fonctionne pas car je réalise la formule sur une ligne sans erreurs?

En fait, cela ne peut pas fonctionner car ce n'est pas la bonne syntaxe.

En effet "somme" accepte une série de valeurs mais pas "esterreur" et donc pour contrôler tu dois mettre :

Code:
=SI(ESTERREUR(SOMME(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3;P3;R3;S3;T3;U3));0;SOMME(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3;P3;R3;S3;T3;U3))

Le contrôle des erreurs est judicieux, mais il est tout de même très lourd à écrire !

J'ai remplacé ton résultat erroné vide ("") par zéro car cela me parait plus logique pour un résultat de somme : à toi de voir !
 
Re : Où est l'erreur de syntaxe?

Toujours aucun résultat et cette boîte de dialogue qui me signale une erreur. Puis-je envoyer le fichier par e-mail à l'un de vous?

Si tu copies le code ci-dessous, qui est exactement le tien avec la bonne syntaxe, à valider par entrée seulement, tu ne dois pas avoir d'erreur, ni "cette boîte de dialogue".

Code:
=SI(ESTERREUR(SOMME(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3;P3;R3;S3;T3;U3));0;SOMME(D3;E3;F3;H3;I3;J3;K3;M3;N3;O3;P3;R3;S3;T3;U3))
@+

PS: résolu avec cette syntaxe ?
 
Re : Où est l'erreur de syntaxe?

Bonjour,

En fait, il aurait fallu savoir pourquoi 3 cellules ne sont pas prises en compte dans la somme.

Dans l'exemple que tu donnes, tu ne prends pas en compte les cellules G3, L3, Q3
Le hasard (?) fait que ce sont des cellules dont le n° de colonne, divisé par 5, a pour reste 2
MOD(COLONNE(G3);5) = 2
MOD(COLONNE();5) renvoie 2 si on est en colonne G, L ou Q ou etc

Tu peux essayer :
=SOMME(SI(ESTNUM(D3:U3)*(MOD(COLONNE(D3:U3);5)<>2);D3:U3))

Si tu ne prends pas en compte les cellules G3, L3, Q3 simplement parce qu'elles contiennent du texte :
=SOMME(SI(ESTNUM(D7:U7);D7:U7))

Formules matricielles, à valider par ctrl, maj et entrée
 

Pièces jointes

- 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
7
Affichages
706
Retour