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


Bonjour à tous,

Merci Claire, Jean-Michel et Yves de vos retours.

Comme Claire, je suis réticent aux macro, en partie car je n'ai pas encore pris le temps de regarder comment faire et aussi pour ne pas "effrayer" les personnes à qui je vais distribuer le fichier.

Dans un premier temps, je retiens l'idée du navigateur (que je n'utilise pas assez) et de faire manuellement une liste des noms des onglets à maintenir à jour manuellement.
Dans un deuxième je vais profiter de ce fichier pour m'essayer aux macros...

Merci encore.
Bon week-end à tous.
Cordialement.
Hervé



Le 09/12/2021 à 22:48, yves dutrieux a écrit :
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%2Bunsubscribe@fr.libreoffice.org>
        <mailto:users+unsubscribe@fr.libreoffice.org
        <mailto:users%2Bunsubscribe@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
        <mailto:users%2Bunsubscribe@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.