[Résolu][Calc] Obtenir les cellules d'une cellule fusionnée

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 !

[Résolu][Calc] Obtenir les cellules d'une cellule fusionnée

Messagepar ThierryM » 04 Jan 2009 00:41

Bonjour,
J'ai besoin de connaître les cellules qui composent une cellule fusionnée (merged cells). J'ai trouvé ici : http://api.openoffice.org/docs/common/ref/com/sun/star/table/XMergeableCell.html la méthode getColumnSpan. Or cette méthode n'est pas documentée et Xray ne l'indique pas. J'ai essayé de l'utiliser mais OOo m'indique "Propriété ou méthode introuvable".
En savez-vous davantage, est-elle utilisable en basic dans calc et comment l'utiliser ?

Merci pour vos éclairages,

Thierry
Dernière édition par ThierryM le 04 Jan 2009 16:14, édité 2 fois.
LibreOffice Version: 6.0.7.3 version ubuntu / Ubuntu Trusty 18.04 / Pourquoi privilégier les formats de fichiers ouverts ?
ThierryM
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 378
Inscrit le : 26 Nov 2006 12:29
Localisation : Les Corbières

Re: [Calc] Méthode getColumnSpan et cellules fusionnées ?

Messagepar bm92 » 04 Jan 2009 14:26

Bonjour,
L'interface com.sun.star.table.XMergeableCell est utilisé pour un tableau dans Writer, pas pour des cellules Calc.

Pour trouver les coordonnées d'une zone fusionnée, employer un curseur de cellule.
Ici on suppose que la cellule C3 fait partie des cellules fusionnées de la zone.
Code : Tout sélectionner   AgrandirRéduire
Dim monDocument As Object, lesFeuilles As Object, maFeuille As Object
Dim cellule As Object, curseurCellule As Object
monDocument = thisComponent
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("Feuille1")
cellule =  maFeuille.getCellRangeByName("C3")
curseurCellule = maFeuille.createCursorByRange(cellule)
curseurCellule.collapseToMergedArea
MsgBox(curseurCellule.AbsoluteName, 0, "Coordonnées de la zone")
'  cellule.RangeAddress donne aussi les cordonnées

J'ai utilisé AbsoluteName pour un affichage facile. La structure obtenue par RangeAddress est plus pratique à utiliser en programmation.
Bernard

OpenOffice.org 1.1.5 fr / Apache OpenOffice 4.1.1 / LibreOffice 5.0.5.2 (X64)
MS-Windows 7 SP1 64bits Familial
bm92
ManitOOu
ManitOOu
 
Message(s) : 2562
Inscrit le : 26 Nov 2005 14:42

Re: [Calc] Méthode getColumnSpan et cellules fusionnées ?

Messagepar ThierryM » 04 Jan 2009 16:08

Merci beaucoup Bernard pour ton éclairage et ta macro : cela faisait déjà quelques temps que je cherchais comment faire sans y arriver.

À bientôt,

Thierry
LibreOffice Version: 6.0.7.3 version ubuntu / Ubuntu Trusty 18.04 / Pourquoi privilégier les formats de fichiers ouverts ?
ThierryM
Membre cOOnverti
Membre cOOnverti
 
Message(s) : 378
Inscrit le : 26 Nov 2006 12:29
Localisation : Les Corbières


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 9 invité(s)