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

VBA Access Discussion :

Création de graphique xls ;correspondance lettre-nombre de colonne


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    183
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 183
    Par défaut Création de graphique xls ;correspondance lettre-nombre de colonne
    Bonjour à tous,

    je souhaite générer un graphique excel à partir d'une requête contenant un nb de colonne qui n'est pas fixe.Pour cela, je pense qu'il faudrait faire correspondre le nombre de colonne d'une requête avec la lettre de l'alphabet.

    par ex avec un tableau tab(0)="A"
    ...
    tab(100)="AZ"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.ActiveChart.SetSourceData Source:=xlApp.Sheets(xlSheet.name).Range("A4:"& tab(i) &"6"), PlotBy:= _
    N'y aurait-il pas une façon plus simple d'obtenir la lettre de la colonne excel à partir du nombre de colonne renvoyé par une requête?


    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 20
    Par défaut
    J'ai réalisé une fonction qui fait exactement cela... Ce n'est pas de la programmation de haut vol, mais... ça marche !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ' Cette fonction renvoie le nom (lettre) de la colonne dont on passe le num
    Private Function NomColonne(Num As Byte) As String
    ' rem : le résultat est sur 2 "digits" au plus
    Dim Resultat As String
    If Num > 26 Then
        Resultat = Chr(Asc("A") + Int(Num / 26) - 1)
        Resultat = Resultat & Chr(Asc("A") + Num Mod 26 - 1)
    Else
        Resultat = Chr(Asc("A") + Num - 1)
    End If
    NomColonne = Resultat
    End Function
    Elle fonctionne avec version <= 2003 c'est à dire avec un excel qui a 256 colonnes... Avec la version 2007, il faut l'adapter et généraliser cela... Boucle, tant que le reste de la division par 26 est non nul...

  3. #3
    Invité de passage
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Par défaut
    Mieux vaut tard que jamais :

    NomColonne(52) = B@ au lieu de AZ

    Le bon code est celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Private Function NomColonne(Num As Integer) As String
        ' rem : le résultat est sur 2 "digits" au plus
        Dim Resultat As String
        If Num > 26 Then
            Resultat = Chr(Asc("A") + Int((Num - 1) / 26) - 1)
            Resultat = Resultat & Chr(Asc("A") + (Num - 1) Mod 26)
        Else
            Resultat = Chr(Asc("A") + Num - 1)
        End If
        NomColonne = Resultat
    End Function

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/04/2007, 20h17
  2. VBA Excel - Création de graphique
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2006, 16h11
  3. Savoir si un String correspond à un nombre
    Par arno00020 dans le forum API standards et tierces
    Réponses: 16
    Dernier message: 30/11/2005, 10h42
  4. [Graphique] Création de graphiques
    Par missnouvelle dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 22/11/2005, 19h12
  5. Création de graphique
    Par boxerbara dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/07/2005, 09h39

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