En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos :
Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName("Feuille1").getCellRangeByName("Toto").AbsoluteName oPlage = Thiscomponent.Sheets.getByName("Feuille1").getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox "Feuille : " & oRange.Sheet & chr(10) & _ "Haut Gauche : " & oRange.StartColumn & "," & oRange.StartRow & chr(10) & _ "Bas Droite : " & oRange.EndColumn & "," & oRange.EndRow, 64, "Index de la plage fusionnée" End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName("Feuille1") sPlage = oSheet.getCellRangeByName("Toto").AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, ".") : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), ":") sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille & chr(10) & sHautGauche & chr(10) & sBasDroite End Sub Je vous laisse la version 3 splits comme devoir de vacances... ^^ > From: patve...@hotmail.com > To: pref-open-off...@haute-garonne.gouv.fr; rudelle.mic...@gmail.com > CC: users@fr.libreoffice.org > Subject: [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - > Trouver plage associée à une cellule fusionnée > Date: Tue, 13 Aug 2013 12:38:52 +0000 > > Bonjour, > > La solution de Michel me semble plus élégante car : > > - soit on récupère une chaîne contenant le nom de la feuille et le nom des > cellules délimitant le merge : deux split permettent d'isoler les infos, > - soit on repart de l'objet objetAdresse (objetAdresse = > cellule.RangeAddress) et puisque c'est un type RangeAddress : > objetAdresse.Sheet donne l'index de la feuille, > objetAdresse.StartColumn et objetAdresse.StartRow, les index de > la cellule haut gauche, > objetAdresse.EndColumn et objetAdresse.EndRow, les index de la > cellule bas droite. > > Testé sous AOO et LO. > > > > Date: Tue, 13 Aug 2013 08:07:24 +0200 > > From: pref-open-off...@haute-garonne.gouv.fr > > To: rudelle.mic...@gmail.com > > CC: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org > > Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage > > associée à une cellule fusionnée > > > > -------- Message original -------- > > Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée > > à une cellule fusionnée > > De : Michel Rudelle <rudelle.mic...@gmail.com> > > Pour : 'claude' <pref-open-off...@haute-garonne.gouv.fr>, 'libreoffice' > > <users@fr.libreoffice.org> > > Date : 12/08/2013 17:57 > > > Bonjour, > > > > > > > > >> De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] > > >> Envoyé : lundi 12 août 2013 17:24 > > >> > > >> Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la > > >> plage associée qui me donnerait la première et la dernière cellule > > >> concernée par cette fusion . > > >> J'ai juste trouvé la propriété "merged" ou pas !!! > > >> > > > > > > Essai rapide: > > > > > > Sub essaiToto > > > Dim cellule As Object, objetAdresse As Object, plage as String > > > cellule = > > > Thiscomponent.Sheets.getByName("Feuille1").getCellRangeByName("toto") > > > objetAdresse = cellule.RangeAddress > > > plage = cellule.AbsoluteName > > > End Sub > > > > > > toto est une plage nommée fusionnée (5x7) dans ma Feuille1 > > > objetAdresse est l'objet qui décrit la plage > > > et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) > > > > > > Est-ce que ça répond ? > > > > > > Bonne soirée, > > > Michel > > > > > > > > Désolée mais moi çà me donne que l'adresse de la première cellule > > Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO > > > > Merci quand même > > > > Claude > > > > > > -- > > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment > > vous désinscrire > > Les archives de la liste sont disponibles à > > http://listarchives.libreoffice.org/fr/users/ > > Tous les messages envoyés sur cette liste seront archivés publiquement et > > ne pourront pas être supprimés > > > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment > vous désinscrire > Les archives de la liste sont disponibles à > http://listarchives.libreoffice.org/fr/users/ > Tous les messages envoyés sur cette liste seront archivés publiquement et ne > pourront pas être supprimés > -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés