Date: prev next · Thread: first prev next last
2021 Archives by date, by thread · List index


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 <ydutrieux@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 <ocleyr2lalune@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+unsubscribe@fr.libreoffice.org <mailto:
users+unsubscribe@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+unsubscribe@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+unsubscribe@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.