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 :

Code VBA modification du type de graphique


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut Code VBA modification du type de graphique
    Bonjour à tous,

    je voulais savoir s'il était possible de modifier le type d'un graphique en utilisant du code VBA comme le montre les images ci-dessous :






    Si oui, comment faut-il s'y prendre ?

    Je vous remercie d'avance pour votre aide.

    Tifriis

  2. #2
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    Si mon contrôle graphique s'appelle Graphique2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Graphique2.Object.Type = une_constante
    Reste à trouver les différentes valeurs pour une_constante.
    Pour cela tu ajoutes un bouton à ton formulaire dont le code événementielle "Sur clic" sera :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Me.Graphique2.Object.Type
    Tu testes les différents types qui t'intéressent et tu cliques sur le bouton pour connaître la valeur de une_constante.

    A+

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Bonjour LedZeppII,

    Désolé de répondre si tard (j'ai eu des problèmes de connexion). Merci pour ta réponse, cela correspond exactement à ce que je recherchais !

    Tifriis

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Bonjour,

    En fait, j'ai encore un problème qui survient aléatoirement.
    Lorsque j’exécute mon code, j'obtiens le message d'erreur suivant (un coup ça marche, puis un autre j'ai une erreur).



    Cette erreur s'affiche lorsque j'exécute le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim Type_graphique,Indicateur_Choisi As String
     
    Indicateur_Choisi="Une_variable"
    Type_graphique = DLookup("Type_graphique", "Indicateurs", "Indicateur='" & Indicateur_Choisi & "'")
     
    If Type_graphique = 1 Then
    [Reports]![Fiche_indicateur]!Graph61.Object.Type = 4
    ElseIf Type_graphique = 2 Then
    [Reports]![Fiche_indicateur]!Graph61.Object.Type = 3
    ElseIf Type_graphique = 3 Then
    [Reports]![Fiche_indicateur]!Graph61.Object.Type = -4102
    End If
    Peut être que cela vient du fait que j'utilise précédemment le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Fiche_indicateur", acViewReport

    Auriez-vous une idée de l'origine de cette erreur ?

    Merci d'avance,

    Tifriis

  5. #5
    Expert confirmé
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Par défaut
    Bonsoir,

    La propriété Type n'était pas la bonne.
    ChartType semble mieux convenir.

    Quelques valeurs que j'ai testé avec succès dans un formulaire :
    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
    Constante	Description
    ---------	-----------------------
    76		Aires
    -4098		Aires 3D
    83		Surface 3D
    57		Barres
    60		Barres 3D
    -4151		Radar
    51		Histogramme
    -4100		Histogramme 3D
    65		Courbes
    -4101		Courbes 3D
    -4169		Nuage de Points
    69		Secteurs
    70		Secteurs 3D
    A priori toutes les constantes sont dans bibliothèque Office.
    Si tu n'en a pas déjà une, ajoute une référence à Microsoft Office 12.0 Object Library.
    Dans l'éditeur VBA, affiche l'explorateur d'objets.
    Fais un clic-droit dans l'explorateur d'objets et sélectionne "Afficher les membres masqués".
    Toujours dans l'explorateur d'objets, fais une recherche sur XlChartType.
    Tu vas tomber sur le type énuméré XlChartType.
    Tous les membres de XlChartType sont des constantes pour la propriété ChartType.

    [Ajout]
    Je suis allé voir dans Excel, et ce sont les mêmes constantes.
    Constantes extraites de l'aide VBA Excel :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    Const.	Description
    ------	------------------------------------------
    1	Aires
    77	Aires empilées*100*%.
    79	Aires empilées*100*%.
    76	Aires empilées.
    78	Aires*3D empilées.
    -4098	Aires*3D.
    80	Anneau éclaté.
    -4120	Anneau.
    71	Barres de secteurs.
    104	Barres empilées 100*% à forme conique.
    97	Barres empilées 100*% à formes cylindriques.
    62	Barres empilées 100*%*3D.
    103	Barres empilées à forme conique.
    96	Barres empilées à formes cylindriques.
    59	Barres empilées*100*%.
    61	Barres empilées*3D.
    58	Barres empilées.
    102	Barres groupées à forme conique.
    95	Barres groupées à formes cylindriques.
    60	Barres groupées*3D.
    57	Barres groupées.
    87	Bulles avec effet*3D.
    15	Bulles.
    86	Contour
    84	Contour filaire.
    67	Courbe empilée 100*% avec marques.
    64	Courbe empilée 100*%.
    66	Courbe empilée avec marques
    63	Courbe empilée.
    -4101	Courbe*3D.
    4	Courbe.
    65	Courbes avec marques.
    101	Histogramme empilé 100*% à formes coniques.
    94	Histogramme empilé 100*% à formes cylindriques.
    108	Histogramme empilé 100*% à formes pyramidales.
    111	Histogramme empilé 100*% à formes pyramidales.
    56	Histogramme empilé 100*%*3D.
    53	Histogramme empilé 100*%.
    93	Histogramme empilé à formes coniques.
    100	Histogramme empilé à formes coniques.
    110	Histogramme empilé à formes pyramidales.
    107	Histogramme empilé à formes pyramidales.
    55	Histogramme empilé*3D.
    52	Histogramme empilé.
    99	Histogramme groupé à formes coniques.
    92	Histogramme groupé à formes coniques.
    109	Histogramme groupé à formes pyramidales.
    106	Histogramme groupé à formes pyramidales.
    54	Histogramme groupé*3D.
    51	Histogramme groupé.
    105	Histogramme*3D à forme conique.
    98	Histogramme*3D à formes cylindriques.
    112	Histogramme*3D à formes pyramidales.
    -4100	Histogramme*3D.
    88	Max-Min-Clôture.
    -4169	Nuage de points.
    74	Nuages de points avec courbes
    75	Nuages de points avec courbes et sans marqueurs.
    73	Nuages de points avec courbes lissées et sans marqueurs
    72	Nuages de points avec courbes lissées.
    89	Ouverture-Max-Min-Clôture.
    81	Radar avec marqueurs.
    82	Radar plein.
    -4151	Radar.
    68	Secteurs de secteurs.
    70	Secteurs éclatés en*3D.
    69	Secteurs éclatés.
    -4102	Secteurs en*3D.
    5	Secteurs.
    85	Surface*3D avec structure apparente.
    83	Surface*3D.
    90	Volume-Max-Min-Clôture.
    91	Volume-Ouverture-Max-Min-Clôture.
    Je n'ai eu que trois erreurs.
    Avec "Ouverture-Max-Min-Clôture", "Volume-Max-Min-Clôture" et "Volume-Ouverture-Max-Min-Clôture".
    [/Ajout]


    A+

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2010
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 76
    Par défaut
    Bonjour LedZeppII,

    merci pour cette réponse très complète.
    J'ai essayé plusieurs syntaxes, mais j'ai toujours le même problème que précédemment. J'ai essayé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Reports]![Fiche_indicateur]!Graph61.Object.ChartType = une_constante
    [Reports]![Fiche_indicateur]!Graph61.ChartType = une_constante
    [Reports]![Fiche_indicateur]!Graph61.ChartObject.ChartType = une_constante
    Quelle syntaxe avez-vous essayé ?

    Merci d'avance,

    Tifriis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un code VBA pour récupérer un type de donnée ?
    Par KEROZEN dans le forum VBA Access
    Réponses: 22
    Dernier message: 26/09/2019, 11h12
  2. Réponses: 1
    Dernier message: 15/11/2007, 07h04
  3. [VBA-A]Un code pour récupérer un type de donnée
    Par KEROZEN dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/04/2006, 16h56
  4. [Javascript] UPLOAD FICHIER(avc code de modif du txt dun iput type file)
    Par genjikun dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/02/2006, 16h05
  5. afficher un graphique dans word à partir de mon code vba
    Par guysocode dans le forum VBA Word
    Réponses: 2
    Dernier message: 07/11/2005, 14h15

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