Le 11/04/2019 à 22:44, C Fourcroy a écrit :
> Bonsoir,
>
> Fondamentalement, un traitement par une fonction du tableur va
> toujours beaucoup plus vite qu'un traitement par une macro en Basic
> car elles sont programmées dans un langage beaucoup plus efficace et
> proche du langage machine. Mettre à jour une trentaine de zones
> nommées ne dépassera pas une fraction de seconde. Comparé à la macro
> de mise à jour de la liste que j'avais proposé il y a quelque temps il
> y a un facteur 100 à 1000 en faveur de l'utilisation de la fonction.
> Ceci étant, créer/modifier des zones nommées peut être long et
> fastidieux surtout quand on n'en a pas l'habitude. Il faut voir si
> l'investissement en temps en vaut la peine.
>
> Christian F

Voici un exemple pour remplacer une zone :
DECALER($voies.$A$1;0;0;6;NBVAL($voies.$A$1:$ZZ$1))

Mais, c'est dans cette expression :
RECHERCHEH(C$20;DECALER($voies.$A$1;0;0;6;NBVAL($voies.$A$1:$ZZ$1));2;0)

Ne serait-il alors pas plus efficace d'écrire :
RECHERCHEH(C$20;$voies.$A$1:$ZZ$6;2;0)

Et dans ce cas, si par hasard, on passe plus loin que ZZ... Le programme
ne marchera plus ! Il faudrait que je mette quoi alors ? C'est vraiment
pour ça que je me demande si une macro qui ne prend en compte aucun
maximum possible n'est pas une bonne idée finalement !

-- 
Amicalement vOOotre              Troumad Alias Bernard SIAUD
mon site : http://troumad.org : AD&D maths WEB...
Pour la liberté http://www.developpez.net/forums/f17/systemes/linux/
N'envoyez que des documents avec des formats ouverts, comme
http://fr.libreoffice.org

-- 
Envoyez un mail à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Répondre à