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