Bonsoir,




Je ne résiste pas au plaisir de vous présenter un bout de code extrait d'un 
Paolo_Mantovani_InSide :





Sub RetrieveTheActiveCell()


  Dim oActiveCell   'The current active cell


  Dim oConv         'The cell address conversion service


  Dim oDoc


  oDoc = ThisComponent


  oActiveCell = oDoc.CurrentSelection





  oConv = oDoc.createInstance("com.sun.star.table.CellAddressConversion")


  oConv.Address = oActiveCell.getCellAddress


  Print oConv.UserInterfaceRepresentation


  print oConv.PersistentRepresentation


End Sub





Le sub traite la cellule active, mais il est simple de passer en 
paramètre ligne et colonne pour adapter le code au taitement d'une 
cellule x,y.





Je n'utilise pas trop, préférant passer par AbsoluteName, mais j'adore....





;)

> Date: Sat, 23 Mar 2013 09:58:25 +0100
> From: [email protected]
> To: [email protected]
> Subject: [fr-users] Calculer l'adresse d'une cellule à partir de ses  numéros 
> de ligne / colonne
> 
> Bonjour,
> 
> Dans une macro, j'avais besoin de la fonction décrite en titre.
> Je n'ai pas trouvé, alors j'ai écrit cela.
> Si cela peut servir à d'autres...
> 
> Function ConvertRowColumn(aRow As Long, aColumn As Long) As String
> ' Return cell address corresponding to aRow And aColumn
>       Dim remain As Long
>       Dim value As Long
>       Dim result As String
>       
>       result = aRow
>       value = aColumn
>       While value > 0
>               remain = value mod 26
>               value = value \ 26
>               If remain = 0 Then
>                       result = "Z" & result
>                       value = value - 1
>               else
>                       result =  chr(remain + 64) & result
>               end If
>       Wend
>       
>       ConvertRowColumn = result
> End Function
> 
> -- 
> Jack.R
> http://jack.r.free.fr
> 
> -- 
> 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 à