Le 30/11/2014 09:21, claude a écrit : > > =SI(ESTERREUR(RECHERCHEV(A1;$destinataires.$A$1:$D$10;2;0));"non > trouvé";RECHERCHEV(A1;$destinataires.$A$1:$D$10;2;0)&" > "&RECHERCHEV(A1;$destinataires.$A$1:$D$10;3;0)) >
Oui, bien entendu ça fonctionne. L'ennui -- si tant est qu'on puisse parler d'ennui -- c'est que RECHERCHEV() est appelée *quatre* fois, ce qui, à mon goût, en fait trois de trop. Il faut savoir que la fonction RECHERCHEV() est gourmande en ressources. Si le fichier (où elle est présente) est volumineux, cela peut induire de forts ralentissements de l'interface à l'ouverture du fichier. Ceci a été bien amélioré depuis plusieurs versions (4.2 si ma mémoire est bonne). Il n'en reste pas moins que j'essaie toujours d'optimiser de ce côté-là et d'éviter les redondances. Pour revenir au cas soumis par Catof, je créerais dans la feuille cible une colonne avec la seule fonction RECHERCHEV(), dans laquelle bien sûr on trouverait soit des valeurs trouvées soit des erreurs. Pas grave, on peut masquer cette colonne. Dans une seconde colonne, je ferais l'analyse d'erreur : [note : la colonne où se trouve RECHERCHEV() est B] En C1, on aurait =SI(ESTERREUR(B1);"mon message d'erreur";B1) Propre, simple, de bon goût ;-) Accessoirement, je préférerais concaténer dans la feuille source. Mais c'est un autre débat. -- Jean-Francois Nifenecker, Bordeaux -- Envoyez un mail à [email protected] pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
