[CALC] Pb fonction ZONES

Bonjour,

J'ignore si ce cas est déjà signalé. La fonction ZONES se comporte bizarrement
=ZONES (A1:A2; B3:C5)
qui fonctionnait bien dans les versions précédentes jusqu'à quand ?) fait des siennes:
Libo 3.4.1 sous Win 7 me retourne Err:504
Pour que ça marche, il faut écrire (notez les doubles parenthèses) :
=ZONES ((A1:A2; B3:C5))
Le retour est 2 (normal), mais la formule se transforme en :
=ZONES ((A1:A2~ B3:C5))
A noter que si on écrit directement :
=ZONES(A1:A2~B3:C5)
ça marche aussi, mais anormal à mon avis (mauvais séparateur ~ et non ;).

Bon surf,
Christian

Bonjour ;

Sauf erreur de ma part, il me semble avoir noté que le tilde a remplacé
comme opérateur d'union le point-virgule depuis OOo 3.0. Je m'étais posé
la question à propos d'un problème avec une autre fonction et j'avais
trouvé la réponse à l'époque.

Le comportement que tu décris est exactement celui décrit dans l'aide de
LibO 3.3.3 (pas vérifié sur la 3.4, désolé).

Cordialement ;
MR

Ok, je suis en retard une fois de plus. Néanmoins, ces changements sont pénibles.

Bon surf,
Christian

Bonjour,

Bonjour ;

Sauf erreur de ma part, il me semble avoir noté que le tilde a remplacé
comme opérateur d'union le point-virgule depuis OOo 3.0. Je m'étais posé
la question à propos d'un problème avec une autre fonction et j'avais
trouvé la réponse à l'époque.

Oups, j'ai eu peur. Non, sur une fonction somme, le ; reste bien le séparateur.

Le comportement que tu décris est exactement celui décrit dans l'aide de
LibO 3.3.3 (pas vérifié sur la 3.4, désolé).

En revanche, en utilisant l'assistant pour la fonction ZONE, elle ne semble accepter qu'un seul argument plage, pas plusieurs.
A suivre

Marie jo

Bonjour ;

Bonjour,

Bonjour ;

Sauf erreur de ma part, il me semble avoir noté que le tilde a remplacé
comme opérateur d'union le point-virgule depuis OOo 3.0. Je m'étais posé
la question à propos d'un problème avec une autre fonction et j'avais
trouvé la réponse à l'époque.

Oups, j'ai eu peur. Non, sur une fonction somme, le ; reste bien le
séparateur.

Ce n'est pas la même chose : le point-virgule est et reste le séparateur
des arguments d'une fonction, càd un élément du "langage" tableur, le
tilde est un opérateur d'union, qui considère les différentes plages
comme une plage unique.

Le comportement que tu décris est exactement celui décrit dans l'aide de
LibO 3.3.3 (pas vérifié sur la 3.4, désolé).

En revanche, en utilisant l'assistant pour la fonction ZONE, elle ne
semble accepter qu'un seul argument plage, pas plusieurs.

ZONES n'accepte en effet qu'un seul argument. Dès lors, son comportement
est très logique : <plage1>~<plage2> décrit une seule plage, alors que
<plage1>;<plage2> décrit deux plages. Le fait d'écrire l'union entre
parenthèses (<plage1>~<plage2>) oblige Calc à la considérer comme un
seul argument : il résout en premier l'opération d'union puis utilise le
résultat dans la fonction de niveau supérieur.

AMHA, c'est une bonne solution, cette différenciation : tout ce qui
évite une ambiguïté, quelle qu'elle soit, est positif. Dans un autre
tableur (et dans OOo ante 3.0), le point-virgule a les deux fonctions,
séparateur d'arguments et opérateur d'union.

Dans la plupart des cas, l'utilisation de l'une ou l'autre syntaxe
donnera le même résultat, et l'opérateur d'union n'est pas utilisable
pour l'instant dans les fonctions matricielles. Ce qui serait
intéressant, c'est de rendre possible son utilisation dans les fonctions
matricielles, justement, parce que cela permettrait de décrire des
matrices réflexives ou disjointes, et ce n'est possible qu'avec un
symbole d'opération non ambigu.

Bonne journée !
MR

Bonjour

Marc Romano wrote:

Ce n'est pas la même chose : le point-virgule est et reste le séparateur
des arguments d'une fonction, càd un élément du "langage" tableur

Rappelons toutefois que ceci est une option modifiable dans Outils > Options

Calc > Formule

Cordialement
Pierre-Yves

Merci à Marc et Pierre-Yves pour ces réponses très précises.

Bon surf,
Christian