IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA-E]Connaitre la lettre de la colonne en fonction du numero


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut [VBA-E]Connaitre la lettre de la colonne en fonction du numero
    Bonjour,

    Q : COmment retrouver l'intitulé alphabétique d'une colonne en fonction de son numéro ?

    R : Cette fonction le permet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    Function LettreColonne(NumCol As Long) As String
    Dim reste, quotient As Long
    quotient = Int(NumCol / 26)
    reste = NumCol Mod 26
    If quotient = 0 And reste = 0 Then
        Exit Function
    End If
    If quotient = 0 Then
        LettreColonne = Chr(64 + reste)
    Else
        If reste = 0 Then
            quotient = quotient - 1
            If quotient = 0 Then
                LettreColonne = Chr(64 + 26)
            Else
                LettreColonne = Chr(64 + quotient) & Chr(64 + 26)
            End If
        Else
            LettreColonne = Chr(64 + quotient) & Chr(64 + reste)
        End If
    End If
    End Function
    Cordialement.
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !
      2  0

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Hum, hum...

    Que penses-tu de ceci?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      MsgBox Split(Columns(32).Address(ColumnAbsolute:=False), ":")(1)
    Me semble légèrement plus court et plus simple...
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!
      7  0

  3. #3
    RLX
    RLX est déconnecté
    Membre éclairé Avatar de RLX
    Inscrit en
    Octobre 2004
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 51
    Par défaut
    Salut,

    oui ça marche même parfaitement comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    MsgBox Split(Columns(Target.Column).Address(ColumnAbsolute:=False), ":")(1)
    End Sub
      2  0

  4. #4
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    et ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim reste, quotient As Long
    VBA, c'est pas du Pascal ou du Delphi !!!
    On type TOUTES les variables explicitement, sinon, c'est un variant !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim reste As Long, quotient As Long
      1  1

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Et, tant qu'on y est, la fonction inverse:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      MsgBox Val(Mid(Columns("AF").Address(ReferenceStyle:=xlR1C1), 2))
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!
      3  0

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Et sous VBA97 qui n'a pas split, on fait comment ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox left(Columns(32).Address, instr(Columns(32).Address, ":") - 1)
    Juste pour les ceusses qui refusent le changement
      0  0

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    eu .... si on reviens au début à quoi cela sert de connaitre " l'intitulé alphabétique d'une colonne" ..??
      0  0

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Citation Envoyé par bbil
    à quoi cela sert de connaitre " l'intitulé alphabétique d'une colonne" ..??
    + 1
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!
      0  0

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Puisque le post est remonté...

    Citation Envoyé par bbil Voir le message
    eu .... si on reviens au début à quoi cela sert de connaitre " l'intitulé alphabétique d'une colonne" ..??
    A créer facilement en VBA une formule à placer dans une cellule sans devoir se farcir un formulaR1C1, entre autres, ...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------
      3  0

Discussions similaires

  1. [VBA-E] Trouver l'adresse en lettre de la colonne active
    Par ThierryAIM dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/04/2007, 10h59
  2. [VB6] Connaitre la lettre d'un lecteur en fonction de son nom
    Par dbozec dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/11/2006, 21h57
  3. [C#] Connaitre le titre d'une colonne DataGrid
    Par Worldofdada dans le forum ASP.NET
    Réponses: 9
    Dernier message: 23/03/2005, 15h37
  4. requette qui me donne la premiere lettre d'1 colonne?
    Par mounir_e dans le forum Langage SQL
    Réponses: 5
    Dernier message: 13/12/2004, 18h49
  5. [VBA-E] Effacer les doubles dans 1 colonne grace à une macro
    Par Stef.proxi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/08/2004, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo