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 :

Histogramme avec un nombre de cellules variable


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut Histogramme avec un nombre de cellules variable
    Bonjour à tous,

    Pour un projet, je souhaite tracer un histogramme à partir de deux colonnes qui représentent les abscisses et les ordonnées (colonnes B et C).
    La difficulté que j'ai est que le nombre de cellules dans les colonnes est variable selon les cas.

    J'ai mis en pièce jointe la macro que j'ai essayé d'écrire: pour exemple, j'ai mis mes abscisses en B4:B7 et mes ordonnées en C4:C7.

    Quand j'essaie d'insérer une variable M (en l'ayant déclarée précédemment) à la place de la valeur 7 dans les lignes de code, cela ne fonctionne pas.

    Auriez-vous une solution à me proposer ?

    Merci d'avance,
    Jules
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Bonjour,

    Définis deux plages dynamiques (elles s'ajustent au nombre de cellules). Cela suppose que la colonne B ne contient que les valeurs d'abscisse :
    PlageX défini par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$B$4;;;NBVAL(Feuil1!$B:$B))
    et PlageY défini par :

    Utilise ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        ActiveChart.FullSeriesCollection(1).Values = "=Classeur1!PlageY"
        ActiveChart.FullSeriesCollection(1).XValues = "=Classeur1!PlageX
    "

    "Classeur1" est, tu l'as compris, le nom de mon classeur non enregistré.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Merci Daniel pour ta réponse.

    Ce que tu me proposes a fonctionné quand j'ai utilisé un exemple simple avec deux colonnes de valeurs mais quand j'essaye de l'inclure dans une de mes macros cela ne fonctionne pas (voir PJ): la colonne d'abscisses commence en F6 et la colonne d'ordonnées commence en G6; mon classeur s'appelle Resultats et ma feuille De.

    Cela me met un message d'erreur quand j'exécute la macro: "Erreur d'exécution '1004':

    Erreur définie par l'application ou par l'objet.

    Merci d'avance,

    Jules
    Images attachées Images attachées  

  4. #4
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Bonjour,

    Est-ce que tu peux mettre ton classeur en PJ ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Merci Daniel, j'ai réussi à régler mon problème en changeant la façon de procéder (voir PJ).
    Mais j'ai toujours une petite erreur à corriger: la macro me donne l'histogramme du haut alors que je souhaite avoir celui du bas; je fais Clic Droit puis Modifier le type de graphique pour l'obtenir. Quand j'enregistre cette modification et que je la rajoute à ma macro, rien ne change, j'ai toujours l'histogramme du haut.

    Aurais-tu une solution ?

    Merci d'avance,

    Jules
    Images attachées Images attachées  

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Bonjour,

    Mets ton classeur en PJ.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Voilà le classeur en PJ.
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Ton problème semble résolu :

    Nom : Capture.PNG
Affichages : 372
Taille : 13,5 Ko
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Oui parce que j'ai modifié "à la main" le graphique pour avoir le bon.

    Dans le fichier que je mets en PJ dans ce message, tu auras le graphique d'origine qui m'est donné par ma macro.

    Jules
    Fichiers attachés Fichiers attachés

  10. #10
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        ActiveChart.FullSeriesCollection(1).Trendlines.Add
        With ActiveChart.FullSeriesCollection(1).Trendlines(1)
            .Type = xlPolynomial
            .Order = 6
        End With
    devrait faire l'affaire.
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Malheureusement ça n'a pas marché; ça me donne toujours le même graphique (le graphique du haut dans mon message de 11h30 aujourd'hui).
    Les lignes de code que tu m'as données ressemblent à celles que j'avais déjà avant, est-ce normal ?

    Jules

  12. #12
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 202
    Points : 14 353
    Points
    14 353
    Par défaut
    Ouvre le classeur joint et clique sur le bouton "Tendance" :

    darkbator Exemple.xlsm
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Merci Daniel pour le classeur, ça résout mon problème au niveau du graphique car j'obtiens celui que je veux, sauf que l'échelle des abscisses n'est pas la bonne: je souhaiterai avoir la colonne de gauche (celle à gauche de la plus à droite) comme valeurs d'abscisses.

    Merci d'avance,

    Jules

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'ai trouvé la solution à mon problème en mettant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.FullSeriesCollection(1).XValues = Range("PlageXA")
    Merci beaucoup pour ton aide Daniel !

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

Discussions similaires

  1. histogramme avec un nombre de bins variable
    Par berlilou dans le forum MATLAB
    Réponses: 3
    Dernier message: 10/03/2008, 15h08
  2. Affichage avec un nombre de colonnes variable
    Par sebaaas dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/10/2007, 19h53
  3. SELECT avec un nombre de colonnes variable
    Par sorcer1 dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 24/09/2007, 21h58
  4. Réponses: 3
    Dernier message: 23/08/2007, 00h39
  5. Interface avec un nombre de champs variable
    Par vladvad dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/06/2007, 11h19

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