[Résolu] [Calc] Numéro de feuille en basic ?

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Claudie-Def
NOOuvel adepte
NOOuvel adepte
Messages : 19
Inscription : 14 oct. 2016 11:51

[Résolu] [Calc] Numéro de feuille en basic ?

Message par Claudie-Def »

Et pour finir,
j'ai trouvé ça là :

[
Résolu][Calc] numéro de page en basic ?
Mais ça ne marche pas.

Code : Tout sélectionner

Function maFeuille
maFeuille = thisComponent.CurrentController.ActiveSheet
end function
ça ne rend rien. G oublié un turc, maisKoi ?
Bon Week end et merci
libre office 5.2.1.2 windows 10
Piaf
GourOOu
GourOOu
Messages : 5622
Inscription : 25 nov. 2011 18:07
Localisation : Guyane

Re: [Calc] numéro de feuille en basic ?

Message par Piaf »

Bonjour
A priori, une fonction est faite pour renvoyer une valeur.
Si tu tiens à utiliser une fonction, tu peux tester

Code : Tout sélectionner

Sub NumFeuille
	MsgBox maFeuille
End Sub

Function maFeuille() as String
Dim oDoc as Object, curFeuille as Object
	oDoc = thisComponent
	curFeuille = oDoc.CurrentController.ActiveSheet
	For i = 0 To oDoc.Sheets.Count - 1
		laFeuille = oDoc.Sheets(i)
		If laFeuille.Name = curFeuille.Name Then
			maFeuille = "La feuille courante a l'index " & i
			Exit For
		End If
	Next i	
End Function
A+
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25184
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] numéro de feuille en basic ?

Message par Dude »

Salut,
Claudie-Def a écrit :ça ne rend rien. G oublié un turc, maisKoi ?
Non, ça rend ce que tu lui demandes : à savoir un objet contenant la feuille active.
Si tu veux obtenir son numéro, il faut descendre sur une cellule de la feuille et interroger la propriété Sheet.
Exemple :

Code : Tout sélectionner

msgBox "Numéro de la feuille active : " & maFeuille.getRangeAddress().sheet
Comme toujours avant de tester, on commence d'abord par comprendre le mécanisme.
A savoir la structure d'un classeur : https://wiki.openoffice.org/wiki/FR/Doc ... readsheets