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 :

Dimensionner Data Labels graph Access


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut Dimensionner Data Labels graph Access
    bonjour,

    après avoir cherché des heures je dois recourir à l'arme ultime,
    à savoir cette question.
    Il s'agit d'un graph (alimenté par requete SQL) sur un formulaire Access.
    J'ai trouvé du code pour afficher la légende
    et les datas labels (voir ci-dessous) mais rien pour les dimensionner...
    Quelqu'un a la solution?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    'AFFICHER LA LEGENDE
    Me!Graph_TO.HasLegend = Me!Graph_TO.HasLegend
    'AFFICHER LES ETIQUETTES
    Me!Graph_TO.ApplyDataLabels AutoText:=True

  2. #2
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut Précision...
    il ne s'agit pas bien sur d'aller modifier directement la taille des
    data labels sur le graphique mais de le faire depuis le code VBA
    incorporé dans le formulaire...

  3. #3
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut Chez Microsoft...
    J'ai également trouvé ce code chez Microsoft,
    à cette adresse
    http://support.microsoft.com/kb/230061/fr
    mais même en l'adaptant il ne fonctionne pas

    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
    Private Sub cmdAddLabels_Click()
        Dim cht As Graph.Chart
        Dim chtSeries As Graph.Series
        Dim chtLabel As Graph.DataLabel
        Set cht = Me.Chart.Object
        For Each chtSeries In cht.SeriesCollection
           'Enable Data Labels in the chart
           chtSeries.HasDataLabels = True
     
           'Loop through each data label and set its
           'Top, Left, and Font properties
           For Each chtLabel In chtSeries.DataLabels
              chtLabel.Top = chtLabel.Top - 10
              chtLabel.Left = chtLabel.Left + 10
              chtLabel.Font.Size = 8
           Next
        Next
    End Sub
    C'est censé s'appliquer à Access 2000 et je travaille avec Access 2003,
    y aurait-il incompatibilité? Si oui de quel type?

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 26
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    Concernant la compatibilité, il ne devrait pas y avoir de problème. Le mieux est d'essayer et de voir si un message d'erreur se produit.

    Concernant le code de Microsoft, il ne fait que positionner les étiquettes (haut, gauche et taille de la police). Il faudrait voir si elles acceptent la propriété largeur (width)

    Essayez de rajouter chtLabel.width=.....

  5. #5
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut message d'erreur
    j'ai adapté le code en trouvant un autre exemple dont je sois à
    peu près sur, j'ai donc

    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
    24
    25
    26
    Private Sub Add_Labels()
     
        Dim cht As Graph.Chart
        Dim chtSeries As Graph.Series
        Dim chtLabel As Graph.DataLabel
     
    'DEFINITION AVEC LE NOM DE MON GRAPH 
        Set cht = Me.Graph_TO.Object
     
           For Each chtSeries In cht.SeriesCollection
        'Enable Data Labels in the chart
           chtSeries.HasDataLabels = True
     
        'Loop through each data label and set its
        'Top, Left, and Font properties
            For Each chtLabel In chtSeries.DataLabels
    'INACTIFS
              'chtLabel.Top = chtLabel.Top - 10
              'chtLabel.Left = chtLabel.Left + 10
    'FORMAT DE NOMBRE
              chtLabel.NumberFormat = "0.00"
    'FORMAT DE POLICE
              chtLabel.Font.Size = 10
           Next
        Next
    End Sub
    mais j'ai hélas le message d'erreur suivant :

    "Erreur d'exécution '1004' :
    Impossible de définir la propriété HasDataLabels de la classe Series"

    Pour moi tout est correct, alors ....???

    J'ai aussi supprimé le "HasDataLabels" qui précédait, pensant que
    ça pouvait être la cause de cette erreur mais ce n'est pas le cas...

  6. #6
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut Précision...
    Je dois ajouté que le code "fonctionne" puisque les Data Labels
    sont bien ajoutés, n'importe comment il est vrai (faut peut être
    pas trop en vouloir d'un coup ), après une "remise à zéro"
    du graph (appel à une requête SQL qui vide le graph)...

  7. #7
    Membre régulier Avatar de Ylmith
    Profil pro
    Powered by Laom and Bethecu
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Powered by Laom and Bethecu

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 78
    Points
    78
    Par défaut
    Citation Envoyé par Ylmith Voir le message
    J'ai aussi supprimé le "HasDataLabels" qui précédait, pensant que
    ça pouvait être la cause de cette erreur mais ce n'est pas le cas...
    pardon pour l'erreur, il s'agit évidemment du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!Graph_TO.ApplyDataLabels AutoText:=True
    qui se trouve dans la procédure précédente.

    Curieusement, c'est le moins que l'on puisse dire, si j'ajoute le
    champ [MOIS] à la requête qui vide le graph je n'ai plus l'erreur 1004

    ce qui est évidemment positif mais le code met un temps considérable à s'exécuter et le
    format nombre des datalabels n'est pas respecté...

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/05/2007, 19h01
  2. Liée un control DATA à une base ACCESS 2000
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 01/03/2007, 18h13
  3. Réponses: 1
    Dernier message: 06/02/2007, 09h46
  4. Data, MSFlexGrid, Connexion ACCESS
    Par Mamoudou Ly dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/12/2005, 10h42
  5. Envoyer un graphe access dans powerpoint
    Par coup dur dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/11/2005, 18h03

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