[Résolu] Recopie incrémentée de fonction de matrice

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.
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

[Résolu] Recopie incrémentée de fonction de matrice

Message par Jeff »

Bonsoir à toutes et tous,

je continue mon exploration des fonctions de matrice (voir http://user.services.openoffice.org/fr/ ... html#14999 et http://user.services.openoffice.org/fr/ ... html#15318 ) et bute sur la recopie incrémentée.

Je m'explique :

- si je prends la fonction de matrice suivante :

Code : Tout sélectionner

{=SOMME(1/NB.SI(A8:A16;A8:A16))}
et que je la recopie grace à la poignée de recopie, bien que les valeurs apparaissent relatives, elles ne s'incrémentent pas.

-si je prends la fonction suivante :

Code : Tout sélectionner

=SOMME(1/NB.SI(A8:A16;A8:A16))
et que je recopie, l'incrémentation se fait, mais je ne peut pas valider "en bloc" par Ctrl+Maj+Entrer pour rentrer dans le cadre des fonctions de matrice, je suis obligé de saisir un paramètre (mettons la dernière parenthèse) puis valider par Ctrl+Maj+Entrer pour chaque formule (j'en ai mille.... :cry: )

Quelqu'un aurait-il une idée ???

Merci !
Dernière modification par Jeff le 09 nov. 2006 22:33, modifié 1 fois.
Pierre-Yves Samyn
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 11276
Inscription : 02 mai 2006 10:42

Message par Pierre-Yves Samyn »

Bonjour

Bien qu'améliorée depuis, la gestion des formules matricielles pose ce problème depuis la version 1. En principe par copier-coller cela fonctionne... (l'incrémentation se fait)
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Message par Jeff »

:bravo: Pierre-Yves, félicitation du jury !!! :D


La procédure à suivre :

a) Sélectionner la fonction matricielle par Ctrl + / (/du pavé numérique)
b) Ctrl + C
c) Echap
d) Sélectionner la plage de recopie (ça marche sur 1000 lignes !!!)
e) Ctrl + V
f) Ctrl + Maj + Entrer

Toutes les cellules reçoivent leur fonction matricielle incrémentée correctement.
Dans mon cas je voulais petit à petit agrandir une plage de cellule à contrôler en nombre de valeurs différentes, soit en cellule A2 :

Code : Tout sélectionner

=SOMME(SI(NON(ESTVIDE($B$2:B2));1/NB.SI($B$2:B2;$B$2:B2);"¿"))
et en ligne 1000 (et tout le long aussi !!! ) j'obtiens :

Code : Tout sélectionner

=SOMME(SI(NON(ESTVIDE($B$2:B1001));1/NB.SI($B$2:B1001;$B$2:B1001);"¿"))
le tout entre accolades une fois l'étape f) exécutée (précision car ça apparait pas sur la copie de code).
Jeff
GourOOu
GourOOu
Messages : 9608
Inscription : 18 sept. 2006 11:40
Localisation : France

Message par Jeff »

Encore plus simple !

Trouvé sur le site de Christian http://christianwtd.free.fr/index.php?r ... pensPlanif (merci Jeanmimi pour la recherche sur le bon terme), il suffit de tenir Ctrl enfoncé et de tirer la poignée de recopie : résultat impeccable !
Répondre