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

Excel Discussion :

Pour une zone donnée afficher graphique vba excel


Sujet :

Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Points : 57
    Points
    57
    Par défaut Pour une zone donnée afficher graphique vba excel
    Bonjour tout le monde,

    SVP si quelqu'un a une idée comment aficher un graphique à partir d'une zone donnée je vous serai très reconnaissante :

    je veux une macro qui en se basant sur la valeur de cellule d'afficher un graphique .

    Exemple: Supposons que la zone choisie dans la cellule B5 de la feuille 1 est b

    Nom : feuil1.PNG
Affichages : 406
Taille : 4,5 Ko
    alors trouver le même nom dans la feuil2
    Nom : feuil2.PNG
Affichages : 531
Taille : 21,2 Ko
    et afficher dans Feuil 3 le graphique de la zone choisie
    Nom : feuil3.PNG
Affichages : 458
Taille : 26,8 Ko

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Pas besoin de vba

    1. Tu crée un nom dynamique comme ceci
    Gestionnaire de nom > Nouveau
    Nom: MaSerie
    Zone: Feuil2
    Fait référence à: =DECALER(Feuil2!$B$5;EQUIV(Feuil1!$B$5;Feuil2!$B$6:$B$10;0);1;;12)2. En feuil3, tu crée manuellement ton graphique avec la première ligne de données et tu le formate et met en forme à tes souhaits.

    3. Tu sélectionnes la série de données ainsi créée, et tu remplace sa formule, dans la barre des formules, par la suivante =SERIE(Feuil1!$B$5;Feuil2!$C$5:$N$5;Feuil2!MaSerie;1)
    PS. En B5 de Feuil1, tu peux créer une liste de validation sur les zones possibles du tableau de Feuil2
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 927
    Points
    55 927
    Billets dans le blog
    131
    Par défaut
    Salut.

    Un peu de construction te permettra d'éviter le VBA

    1. Créer une plage nommée, par exemple DATA, qui utilisera la formule DECALER pour créer une plage dynamique en fonction du choix en feuil1. La plage nommée s'appuiera sur la formule =DECALER(Feuil2!$C$5:$N$5;EQUIV(Feuil1!$B$5;Feuil2!$B$6:$B$10;0);0)

    Puis, tu crées ton graphique en l'appuyant sur la zone feuil2!data (ne pas oublier Feuil2!). Tu peux référencer le titre de ton classeur en pointant vers feuil1!b5.

    Tout est alors entièrement automatique. Il te suffit de modifier le choix en B5 de la feuil1 pour que ton graphique s'adapter automatiquement.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Salut.

    Un peu de construction te permettra d'éviter le VBA

    1. Créer une plage nommée, par exemple DATA, qui utilisera la formule DECALER pour créer une plage dynamique en fonction du choix en feuil1. La plage nommée s'appuiera sur la formule =DECALER(Feuil2!$C$5:$N$5;EQUIV(Feuil1!$B$5;Feuil2!$B$6:$B$10;0);0)

    Puis, tu crées ton graphique en l'appuyant sur la zone feuil2!data (ne pas oublier Feuil2!). Tu peux référencer le titre de ton classeur en pointant vers feuil1!b5.

    Tout est alors entièrement automatique. Il te suffit de modifier le choix en B5 de la feuil1 pour que ton graphique s'adapter automatiquement.
    SVP Je n'ai pas bien compris cette phrase : "Puis, tu crées ton graphique en l'appuyant sur la zone feuil2!data (ne pas oublier Feuil2!). Tu peux référencer le titre de ton classeur en pointant vers feuil1!b5."

    Pouvez vous m'expliquer davantage ce point , ??

    merci

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Points : 57
    Points
    57
    Par défaut
    en fait je ne veux pas plusieurs graphique mais un seul , lorsque je change la zone dans feuil1 il m'affiche le graphique de la nouvelle zone dans le même graphique

    Juste une remarque , la cellule B5 peut changer à partir d'un combobox d'un userform

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 927
    Points
    55 927
    Billets dans le blog
    131
    Par défaut
    Tu crées ton graphique à partir de B5:N6 de la feuil2, ou tu crées un graphique vide

    Puis tu modifies la source de données du graphique, et tu supprimes la source

    Nom : 07-04-15 12-04-32.png
Affichages : 437
Taille : 15,4 Ko

    Tu remplaces alors les données par la référence à la fa feuill1 et feuil2

    Nom : 07-04-15 12-02-11.png
Affichages : 302
Taille : 8,4 Ko

    en n'oubliant pas de bien préciser les noms des feuilles dans les références que tu saisis, même pour la zone nommée DATA

    Tu auras alors un seul graphique qui s'adaptera aux données selon la valeur reprise en feuil1!b5
    Fichiers attachés Fichiers attachés
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 113
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Pas besoin de vba

    1. Tu crée un nom dynamique comme ceci
    Gestionnaire de nom > Nouveau
    Nom: MaSerie
    Zone: Feuil2
    Fait référence à: =DECALER(Feuil2!$B$5;EQUIV(Feuil1!$B$5;Feuil2!$B$6:$B$10;0);1;;12)2. En feuil3, tu crée manuellement ton graphique avec la première ligne de données et tu le formate et met en forme à tes souhaits.

    3. Tu sélectionnes la série de données ainsi créée, et tu remplace sa formule, dans la barre des formules, par la suivante =SERIE(Feuil1!$B$5;Feuil2!$C$5:$N$5;Feuil2!MaSerie;1)
    PS. En B5 de Feuil1, tu peux créer une liste de validation sur les zones possibles du tableau de Feuil2

    Voilà ce que j'obtiens finalement :

    Nom : see.PNG
Affichages : 395
Taille : 80,8 Ko

  8. #8
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Le message est explicite. Tu as une incohérence dans l'affectation du nom à la plage dynamique. pourtant bien expliquée et en détail.

    Mais comme on veut un classeur tout fait et ménager ses neurones pour quelque réflexion et analyse que ce soit, la dépendance risque d'être longue. D'autant plus que ce n'est pas le premier sujet traité de la sorte.

    Étant marqué résolu, il n'y a guère d'utilité d'expliquer.
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/06/2014, 17h05
  2. Réponses: 7
    Dernier message: 15/08/2012, 16h16
  3. Réponses: 8
    Dernier message: 20/06/2012, 15h54
  4. Réponses: 4
    Dernier message: 02/04/2009, 14h18
  5. [CR] Filtrer pour une période donnée
    Par liberio dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 21/04/2004, 16h32

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