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 :

Souci avec création de graphiques


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut Souci avec création de graphiques
    Bonjour
    J'avoue que la création de graphiques en VBA est nouveau pour moi.
    J'utilise donc l'enregistreur de macros et je tombe très souvent des erreurs qui sont complexes (en l'état de mes connaissances) à surmonter
    J'utilise à travers un formulaire, des scrolbars pour évaluer une situation.
    Je souhaite sur un autre formulaire, afficher les résultats sous forme graphiques.
    Je chois le radar.
    La création du graphique fonctionne.
    Toutefois pour modifier les paramètres tel que police et taille des étiquettes, je butte sur une erreur.
    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
     
        ActiveSheet.Shapes.AddChart2(317, xlRadarFilled).Select
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.FullSeriesCollection(1).Name = "='LISTE DES CANDIDATURES'!$B$" & ligne
        ActiveChart.FullSeriesCollection(1).Values = "='LISTE DES CANDIDATURES'!$M$" & ligne & ":$Q$" & ligne
        ActiveChart.FullSeriesCollection(1).XValues = "='LISTE DES CANDIDATURES'!$M$15:$Q$15"
        ' Reselection du graphique
        For Each ch In ActiveSheet.ChartObjects
        Grap = ch.Name
        Next
        ' redimensionnement
        ActiveSheet.ChartObjects(Grap).Activate
        ActiveSheet.Shapes(Grap).ScaleWidth 1.6, msoFalse, msoScaleFromTopLeft 'redéfinir dimensions
        ActiveSheet.Shapes(Grap).ScaleHeight 1.6, msoFalse, msoScaleFromTopLeft 'redéfinir dimensions
        ' Résultat de l'enregisteur de macros
        ActiveChart.ChartGroups(1).RadarAxisLabels.Select
        With Selection.Format.TextFrame2.TextRange.Font
            .NameComplexScript = "Corbel"
            .NameFarEast = "Corbel"
            .Name = "Corbel"
        End With
    L'erreur affichée se situe sur TEXTFRAME2 : "la méthode TEXTFRAME2 de l'object Chartformat a échoué"
    Auriez vous une explication ?
    Merci de votre aide

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut,
    A tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Selection.Format.TextFrame2.TextRange
    With .Font
    	.NameComplexScript = "Corbel"
            .NameFarEast = "Corbel"
            .Name = "Corbel"
    End With
    End With
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    Bonsoir
    Merci de ta suggestion mais
    Le résultat est le même et l'erreur aussi
    Je continue à chercher

  4. #4
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Points : 367
    Points
    367
    Par défaut
    Bonjour

    J'ai essayé sur un fichier test (joint), il me semble que tu ne selectionnes pas la bonne zone
    la zone sur laquelle tu a un plantage correspond à une série et non à une zone de texte
    on voit la zone sélectionnée au plantage
    Fichiers attachés Fichiers attachés

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    Merci de ta réponse
    Ai je une installe particulière ?
    En tout cas, ta solution seule ne fonctionne pas, j'ai la même erreur qui ressort.
    La zone sélectionnée est bien la zone étiquettes.
    Je continue à chercher

  6. #6
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Points : 367
    Points
    367
    Par défaut
    tu peux deposer ton fichier ?

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    J'ai crée une base test mais cela concerne toute l'application car le souci se situe au cœur de celle-ci
    Pour le trouver, sélectionner un candidat, ouvrir sa fiche (en haut à gauche Fich)
    Ensuite cliquer sur le bouton graph en bas à droite
    (Il risque d'avoir quelques soucis de portabilités car l'appli ne fonctionne que sur mon poste actuellement)
    Fichiers attachés Fichiers attachés

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    Je viens de faire un test
    J'ai enregistré une macro qui met les étiquettes en corbel et en gras de façon indépendante de l'applicatif
    J'ai lié celle ci à un bouton
    Ensuite j'ai crée mon graphique et ensuite lancé la macro avec le bouton.
    Le résultat est identique. Il y a un facteur inconnu qui m'empêche de modifier les paramètres du graphique.
    De plus l'aide de Microsoft (que j'ai trouvé toujours incompréhensible ne m'éclaire sur la méthode mais en plus je ne trouve pas de document de références sur le sujet, ce que je trouve ne vont jamais suffisamment loin.

  9. #9
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Points : 367
    Points
    367
    Par défaut
    Bonjour

    En déclarant l'objet tu peux ensuite, en déclarant des espions regarder les propriétés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
     
        Dim MonGraphe As ChartObject
        '1- declaration
        Set MonGraphe = ActiveSheet.ChartObjects(Grap)
        '2 - en cherchant dans l'explorateur d'objet étape par étape
       ' MonGraphe.Chart.ChartGroups(1).RadarAxisLabels.Select : inutile : vérifier visuellement et temporaire pour ajouter un espion
       '3
        With MonGraphe.Chart.ChartGroups(1).RadarAxisLabels.Font
            .Name = "Corbel"
        End With
     
    End Sub
    Menu affichage; fenetre espion
    - Selectionner Mongraphe , clique droit ajouter un espion
    - Mettre un point d'aret apres le set mongraphe
    - rechercher dans la fenetre espion "radarAxisLabel" … c'est mieux si on sait un peu ou chercher
    - ajouter un espion sur MonGraphe.Chart.ChartGroups(1).RadarAxisLabels
    - rechercher dans ce deuxième espion la police (font)
    et la tu vois comment modifier la police

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    Voici ou j'en suis de mes teste.
    J'avoue n'y comprendre rien
    J'ai élaboré un second graphique à base d'histogramme
    J'enregistre une macro qui sélectionne successivement l'aire du graphique puis l'axe des X et ensuite qui changent la police de l'axe X
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        ActiveChart.PlotArea.Select
        ActiveChart.Axes(xlCategory).Select
        With Selection.Format.TextFrame2.TextRange
            With .Font
                .NameComplexScript = "Corbel"
                .NameFarEast = "Corbel"
                .Name = "Corbel"
            End With
        End With
    Je transcrit dans un module teste et je plante sur Format.TextFrame.Textrange
    A chaque étape, les zones sont bien sélectionnées
    Cela agit comme si Format.TextFrame ne soit pas la bonne instruction alors qu'il me le propose à partir de l'enregistreur

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    Je pense avoir trouvé la solution en ChartArea
    Voici le code qui fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        ActiveChart.FullSeriesCollection(1).Delete
        ActiveChart.FullSeriesCollection(1).Name = "='Tableau de bord'!K25"
        ActiveChart.FullSeriesCollection(1).Values = "='Tableau de bord'!$L$26:$L$45"
        ActiveChart.FullSeriesCollection(1).XValues = "='Tableau de bord'!$K$26:$K$45"
        ActiveChart.ChartArea.Select
        ActiveChart.ChartArea.Font.Name = "Corbel"
        ActiveChart.Axes(xlCategory).Select
        ActiveChart.Axes(xlCategory).TickLabels.Font.Size = 10
    Je continue mais je pense que la solution est là

  12. #12
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Points : 367
    Points
    367
    Par défaut
    bonjour

    je t'ai donne la solution et la méthode pour la trouver, tu ne l'a pas vu ?

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Points : 71
    Points
    71
    Par défaut
    J'avoue que non
    Je m'aperçoit que j'ai cherché pour rien alors que tu m'avais donné la solution.
    Enfin, l'avantage, c'est que j'ai compris pourquoi en recherchant.
    Merci de ton aide

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

Discussions similaires

  1. [Débutant] Souci avec création d'un fichier accdb lié a une appli .net
    Par Attila54 dans le forum VB.NET
    Réponses: 11
    Dernier message: 29/07/2013, 11h41
  2. Souci avec création de liste
    Par talggir dans le forum Général VBA
    Réponses: 2
    Dernier message: 29/04/2007, 19h12
  3. Réponses: 2
    Dernier message: 16/02/2007, 16h34
  4. [VB6] Soucis avec Création de label dynamique
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/06/2006, 18h55
  5. Soucis avec les Graphiques dans les états
    Par Chococrocq dans le forum IHM
    Réponses: 27
    Dernier message: 04/01/2006, 19h03

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