correction pour ne pas avoir d'erreur au chargement du document :
Function lafeuille(numero)
On Error Resume Next
if numero <= thiscomponent.sheets.getcount() then
 lafeuille = thiscomponent.sheets(numero).Name
else
 lafeuille = ""
endif
End Function

(rajouter le On Error resume next)
ok c'est à l'arrache ;)
quand le document est chargé, Ctrl-Shift-F9 permet de recalculer.

J'ai fait au plus rapide ;)
Yves

Le jeu. 9 déc. 2021 à 22:37, yves dutrieux <ydutri...@gmail.com> a écrit :

> Bonsoir,
> oui, sans macros, je vois pas comment car il n'existe pas de indirect avec
> un déplacement relatif par rapport à une feuille (serait peut-être
> intéressant d'avoir cela en + des déplacements relatifs de lignes/colonnes
> ;) ).
> sinon voici un exemple de fonction "lafeuille" qui te retourne le nom de
> feuille associé à sa position (mais via macro très simple).
>
> https://cjoint.com/c/KLjvKGoaaC8
>
> a noter que si l'on change un nom de feuille, il est nécessaire de faire
> un Ctrl-Shift-F9  car les functions ne se recalcule pas sinon....
>
> Yves
>
> Le jeu. 9 déc. 2021 à 19:43, Ocleyr2lalune <ocleyr2lal...@zaclys.net> a
> écrit :
>
>> Salut Hervé
>> le truc c'est que onglet est un peu impropre, tu veux les noms de toutes
>> les feuilles d'un classeur dans une des feuilles du classeur.
>> De base, oui, comme le dit Jean Michel tu pourrais utiliser une macro,
>> d'autant qu'il t'indique qu'elle serait simple, et quand j'ai vu l'objet de
>> ton message, je l'ai associé à une réponse via macro...
>> Je suis la première à dire que l'usage d'une macro est à éviter quand on
>> peut faire autrement. Particulièrement quand tu ne fais pas des choses que
>> pour toi, notamment car les compétences peuvent être plus difficiles à
>> acquérir pour la personne qui reprend le fichier. Mais mon intuition est
>> que dans ton cas, il existe déjà des choses trés simples pour y répondre
>> via une macro, et que la mise en place d'une formule peut être plus
>> complexe....
>> Sauf que tu as déjà la formule qui répond à ta question.
>> Donc, je passe mon interface en anglais, je teste ta formule
>> je crée une nouvelle feuille, et dans ta formule, je remplace A1 par la
>> référence d'une cellule de la nouvelle feuille. J'obtiens le nom de l'autre
>> feuille...
>> Et c'est tout.
>> Donc sans macro, tu dois manuellement, saisir une formule, pour chacune
>> des feuilles, rajouter une nouvelle cellule avec cette
>> formule si tu crées une nouvelle feuille.
>> Ensuite, si tu renommes une feuille, tu auras bien son nom qui sera
>> automatiquement mis à jour par ta formule.
>> Si tu veux que la liste se mette à jour d'elle même en ajoutant ou
>> supprimant une feuille, sans compléter toi-même ta liste, tu ne pourras pas
>> faire l'économie d'une macro, elle sert à ça.
>> D'ailleurs, je pense (mais Jean Michel s'y connait mieux en macro que moi
>> je crois) que tu ne pourras pas faire l'économie d'un déclencheur (quand
>> est-ce que la macro s'exécute pour vérifier qu'il y a un changement ?)
>> Après si c'est juste pour avoir une vision synthétique de toutes tes
>> feuilles (sans faire référence aux noms), sers toi du navigateur...
>> Au passage, pense à passer au mlnimum en 7.1.8 (cf alerte de sécurité de
>> Jean Baptiste Faure de lundi 6)
>> Bon courage !
>> Claire
>>
>> Herve ROUSSEL wrote:
>> Bonjour,
>> Dans un fichier Calc, j'ai plusieurs feuilles de calcul et j'ai renommé
>> chaque feuille de calcul ce qui fait que le nom interne (Sheet1, Sheet2,
>> ... ou Feuille1, Feuille2, ...) ne correspond plus au nom qui apparaît dans
>> chaque onglet des feuilles de calcul.
>> Dans une des feuilles de calcul de ce classeur, j'aimerais, en utilisant
>> des formules et pas des macros, récupérer le nom de chaque onglet de toutes
>> les feuilles de calcul du classeur.
>> Je sais comment récupérer le nombre de feuille (fonction sheets()).
>> Sur une feuille de calcul, je sais récupérer le nom interne de la feuille
>> (fonction sheet()).
>> Sur une feuille de calcul, je sais récupérer le nom de la feuille (le nom
>> inscrit dans l'onglet)
>> (=MID(CELL("filename";A1);FIND("$";CELL("filename";A1))+1;256)&T(RAND())).
>> Mais je n'arrive pas à obtenir sur une même feuille de calcul le nom de
>> tous les onglets du classeur.
>> Le but étant aussi que cela se mette à jour quand je supprime ou rajoute
>> une feuille de calcul ainsi que quand je modifie le nom d'une des feuilles.
>> Une autre façon de faire serait de récupérer la correspondance entre le
>> nom interne et le nom inscrit dans l'onglet de chaque feuille de calcul...
>> mais je n'ai rien trouvé la-dessus.
>> Si c'est faisable, est-ce que l'un de vous sait comment faire et pourrait
>> m'expliquer ?
>> Pour information, voici la version de LibreOffice que j'utilise (que je
>> vais passer en 7.1.8 rapidement).
>> Version: 7.1.7.2 (x64) / LibreOffice Community
>> Build ID: c6a4e3954236145e2acb0b65f68614365aeee33f
>> CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Raster;
>> VCL: win
>> Locale: en-US (fr_FR); UI: en-US
>> Calc: threaded
>> Merci d'avance.
>> Portez-vous bien.
>> Cordialement.
>> Hervé
>> --
>> Envoyez un mail à users+unsubscr...@fr.libreoffice.org <mailto:
>> users+unsubscr...@fr.libreoffice.org> pour vous désinscrire
>> Les archives de la liste sont disponibles à
>> https://listarchives.libreoffice.org/fr/users/ <
>> https://listarchives.libreoffice.org/fr/users/>
>> Privacy Policy: https://www.documentfoundation.org/privacy <
>> https://www.documentfoundation.org/privacy>
>>
>> --
>> Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous
>> désinscrire
>> Les archives de la liste sont disponibles à
>> https://listarchives.libreoffice.org/fr/users/
>> Privacy Policy: https://www.documentfoundation.org/privacy
>>
>
>
> --
> web site : http://www.molenbaix.com
>


-- 
web site : http://www.molenbaix.com

-- 
Envoyez un mail à users+unsubscr...@fr.libreoffice.org 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 à