begin process at 2012 02 16 16:41:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Trucs & Astuces

 > RÉCUPÉRER L'ADRESSE D'UNE CELLULE EXCEL

RÉCUPÉRER L'ADRESSE D'UNE CELLULE EXCEL


 Information sur la source

Note :
7 / 10 - par 2 personnes
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Trucs & Astuces Niveau :Débutant Date de création :04/11/2004 Vu :15 586

Auteur : axayacatl

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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...


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) EXPORTER LES IMAGES DE WORD ET D' EXCEL par Le Pivert
Source avec Zip Source avec une capture JEUX DE VERITÉ ET DE FIDELITÉ par billatosco
Source avec Zip IMAGELOARDER par vkitumaini
Source avec Zip Source avec une capture Source .NET (Dotnet) CREER UN CALENDRIER DE POCHE par Le Pivert
Source avec Zip RECHERCHE D'UN ENREGISTREMENT DANS UNE DATATABLE ET POSITION... par erdna

Commentaires et avis

Commentaire de ephores le 09/11/2004 14:33:45

Bonjour,
c'est bien utile ! bonne continuation j'ai mis 7 !

Commentaire de MagicDoctor le 20/11/2007 07:05:58 7/10

Pratique

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,794 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales