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 sans variables comme devoir de vacances...

^^



> 
> > From: [email protected]
> > To: [email protected]; [email protected]
> > CC: [email protected]
> > 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: [email protected]
> > > To: [email protected]
> > > CC: [email protected]; [email protected]
> > > 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 <[email protected]>
> > > Pour : 'claude' <[email protected]>, 'libreoffice' 
> > > <[email protected]>
> > > Date : 12/08/2013 17:57
> > > > Bonjour,
> > > >
> > > >   
> > > >> De : claude [mailto:[email protected]]
> > > >> 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 à [email protected] 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 à [email protected] 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 à [email protected] 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 à [email protected] 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

Répondre à