Récupérer l'adresse d'une cellule excel

Contenu du snippet

Cette routine convertie les coordonnées X et Y d'une cellule en adresse Excel, par exemple (21, 12) donnera U12. Ce peut être utile pour l'utilisation de feuilles Excel à partir de VB.
Ce qui est intéressant est que la fonction s'appelle elle même.

Source / Exemple :


Option Explicit

Private Function GetColonnes(ByVal s As String, ByVal n As Integer) As String
    Dim i As Integer
    Dim j As Integer
    Dim c As String
    
    ' il y a 26 lettres dans l'alphabet, donc si on dépasse ce chiffre c'est qu'il faut plusieurs lettres
    If n > 26 Then
        i = Int(n / 26)
        If (n Mod 26) <> 0 Then
            j = n Mod 26
        Else
            j = 26: i = i - 1
        End If
        ' on appelle une nouvelle fois la fonction
        GetColonnes = s + GetColonnes(Chr(64 + i), j) ' 64 correspond au caractère '@' (juste avant 'A')
    Else
        c = Chr(64 + n)
        GetColonnes = s + c
    End If
End Function

Public Function getCell(ByVal X As Integer, ByVal Y As Integer) As String
    getCell = GetColonnes("", X) & CStr(Y)
End Function

Private Sub Form_Load()
   ' Quelques exemples :
   MsgBox getCell(10, 10) ' donne J10
   MsgBox getCell(48, 55) ' donne AV55
   End
End Sub

Conclusion :


C'est vraiment petit, mais pour une première participation...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.