Le 23/03/2013 09:58, Jack.R a écrit :
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

Bonjour,

Pourquoi ne pas passer par les API
ce qui donnerait quelque chose comme ceci :

Function AbsoluteNameRowColumn( aRow As Long,  aColumn As Long ) As String

    Dim oSheet As Object, sAdresse
    oSheet = ThisComponent.getSheets().getByName( "Feuille1" )

sAdresse = Split(oSheet.getCellByPosition( aRow, aColumn ).AbsoluteName, "." )
    AbsoluteNameRowColumn = sAdresse( uBound( sAdresse ) )

End Function

Francois GATTO

--
Envoyez un mail à users+h...@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

Répondre à