[Calc] Fonction d'extraction du nom de feuille
Publié : 10 sept. 2008 07:25
Bonjour,
Ce code va permettre d'extraire le nom d'une feuille en fonction de sa position dans le classeur, en utilisant une formule personnalisée baptisée NOMFEUILLE.
Par exemple, une fois le code installé, =NOMFEUILLE(FEUILLES()) renverra le nom de la dernière feuille :
Version 3 du 17/10/2008 :
Un petit mode d'emploi (mis à jour le 10/12/2008) :
Merci à jboulch pour son retour
Ce code va permettre d'extraire le nom d'une feuille en fonction de sa position dans le classeur, en utilisant une formule personnalisée baptisée NOMFEUILLE.
Par exemple, une fois le code installé, =NOMFEUILLE(FEUILLES()) renverra le nom de la dernière feuille :
Version 3 du 17/10/2008 :
Code : Tout sélectionner
REM ***** BASIC *****
' Listener
' Un grand merci à Pierre-Yves Samyn du forum officiel OOo
' pour la partie Listener de cette fonction.
Option Explicit
Global PysListener as object
sub PysListenerAdd
PysListener = createUnoListener("Pys_", "com.sun.star.util.XModifyListener")
ThisComponent.AddModifyListener(PysListener)
end sub
sub PysListenerRemove
ThisComponent.RemoveModifyListener(PysListener)
end sub
sub Pys_disposing(PysListener)
end sub
Sub Pys_Modified(PysListener)
thiscomponent.calculateAll
End Sub
'Fonction NomFeuille Version3
'Auteurs : Jeff
'Mes remerciements au forum officiel OOo : http://user.services.openoffice.org/fr/forum/index.php
'Mes remerciements au Club des développeurs français : http://www.developpez.net/forums/index.php
Function NomFeuille(Optional position as integer)
Dim oDoc As Object, oSheets As Object, Feuille As Object, Cellule as Object
Dim NmbFeuilles As Integer 'Variable qui va stocker le nombre de feuilles
On error goto Erreurs 'Si erreur va à Erreurs
oDoc = ThisComponent
oSheets = oDoc.Sheets
NmbFeuilles = oDoc.Sheets.Count 'stockage nbre de feuille du classeur
NomFeuille = oDoc.Sheets(position-1).Name'la première feuille est la feuille 0, d'où le -1
Erreurs: 'Gestion des erreurs
if position < 1 then goto nul'si le critère position est inférieur à 1 va à Nul
if IsMissing(position) then goto nul'si le critère position est oublié alors va à Nul
if position > NmbFeuilles then goto nul 'si le critère position est supérieur à NmbFeuilles alors va à Nul
goto fin
nul:'si le critère position est inférieur à 1
NomFeuille = ""'n'affiche rien
Goto fin
Fin:
End Function