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 :

Graphique avec des données précises en vba


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 19
    Points
    19
    Par défaut Graphique avec des données précises en vba
    Bonjour,

    Voilà j'ai un petit souci.
    J'ai un tableau sur excel. Chaque mois, il y aura une nouvelle colonne qui s'ajoutera à la fin par un import automatique.

    A partir de ce tableau je veux réaliser un graphique par une macro qui prend que 3 lignes :
    la ligne 21, 33 et 43...

    Je ne vois pas du tout comment faire.
    J'ai mis le tableau en pièce jointe pour vous faire voir.

    Merci d'avance pour votre aide
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 75
    Points : 90
    Points
    90
    Par défaut
    Est-ce qu'une macro est vraiment nécessaire ? Si les 3 lignes concernées représentent trois séries différentes, il suffirait de faire un graphique avec plage de données variable. Pour ce faire, il faut définir une plage nommée (une par ligne souhaitée) et utiliser la fonction "decaler".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =DECALER(Ref;;;;NBVAL(Ligne))
    ' Ref = origine te ton tableau
    ' Ligne = ligne à afficher dans le graphique

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 19
    Points
    19
    Par défaut
    Merci de votre réponse.

    Oui il faudrait une macro car comme chaque mois j'ai une nouvelle colonne, je n'ai pas envie de refaire à chaque fois un graphique. Tandis qu'en cliquant sur le bouton de la macro, j'aurais mon nouveau graphique en un clic...

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    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 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    La fonction DECALER proposée Laaryj permet justement que la colonne supplémentaire soit automatiquement ajoutée à ton tableau.

    Et si tu essayais la solution qu'il te propose?

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 19
    Points
    19
    Par défaut
    Rebonjour,

    Bon j'ai testé un truc, ça ne me fais pas d'erreur mais ça m'affiche rien du tout ...

    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
    Private Sub CommandButton3_Click()
        Dim c As Long
        Dim l As Long
        Dim j As Long
     
        c = 4
        Sheets("Auchan_Nord").Cells(16, c).Select
        Do While Not (IsEmpty(Cells(16, c).Value))
                c = c + 1
        Loop
        c = c - 1
     
            For l = 16 To 43
                Cells(l, 3).Select
                If ActiveCell.Value = "AUCHAN NOYELLES GODAULT" Or ActiveCell.Value = "AUCHAN DOUAI" Or ActiveCell.Value = "Moyenne" Then
                    For j = 4 To c
                        Cells(l, j).Select
                    Next j
                End If
            Next l
     
     
        myrange = Selection.Address
        mysheetname = ActiveSheet.Name
        ActiveSheet.ChartObjects.Add(5, 550, 1300, 500).Select
        Application.CutCopyMode = False
     
        ActiveChart.ChartWizard _
           Source:=Sheets(mysheetname).Range(myrange), _
           Gallery:=xlLine, Format:=1, PlotBy:=xlRows, _
           CategoryLabels:=1, SeriesLabels:=2, HasLegend:=True, _
           Title:=Legend, CategoryTitle:="", _
           ValueTitle:="", ExtraTitle:=""
     
    End Sub
    En gros, je cherche dans c où mes colonnes s'arrêtent.
    Ensuite, je cherche les lignes qui m'intéressent (avec le IF) et je sélectionne tout ...

    Je vous remercie d'avance pour votre aide

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 75
    Points : 90
    Points
    90
    Par défaut
    Je suis désolé d'insister mais une macro n'est pas nécessaire...
    Si la sélection de tes lignes doit, elle aussi, être dynamique, il suffit de faire autant de champs nommés que de ligne à sélectionner (avec des conditions dans la formule).

    Est-ce que le nombre de lignes à afficher dans le graphique est constant ?

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 19
    Points
    19
    Par défaut
    Les lignes sont toujours au nombre de 3... C'est juste le nombre de colonnes qui augmente de 1 à chaque mises à jour ...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 75
    Points : 90
    Points
    90
    Par défaut
    Dans ce cas, il faut passer par les champs nommés.
    Via le menu, ajouter un champs nommé (un par ligne à créer) et dans la case "Fait référence à :" mettre la formule avec la fonction décaler (expliquer précédemment). Ensuite, dans les séries du graphique, mettre le champ nommé dans "valeur".

    A mon avis, c'est clairement la meilleure solution, rapide et efficace.

  9. #9
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 377
    Points
    2 377
    Billets dans le blog
    14
    Par défaut
    Bonjour
    La gestion d'une image n'est pas évidente pour te donner une solution, mais comme "larryj", je pense que la macro n'est pas necessaire, pourrais tu mettre un petit fichier avec ce que tu a aujourd'hui, le graph qui doit ressortir de tes données et ce que tu aura demain avec l'évolution de tes données.

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    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 124
    Points : 55 929
    Points
    55 929
    Billets dans le blog
    131
    Par défaut
    Salut.

    Voici une petite vidéo qui t'explique comment réaliser cela

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2010
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 58
    Points : 19
    Points
    19
    Par défaut
    Bonjour à tous,

    Merci beaucoup pour la vidéo, ça marche super!

    Un GRAND merci!!!!!

    A bientôt

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

Discussions similaires

  1. Créer un graphique avec des données dynamiques
    Par nikobell dans le forum Excel
    Réponses: 5
    Dernier message: 17/01/2010, 19h39
  2. Réponses: 1
    Dernier message: 28/01/2009, 09h01
  3. Créer un graphique avec des données sources variables
    Par Tom1402 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/12/2008, 18h19
  4. [VBA-E] Graphique indépendant des données?
    Par tinmarbusir dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 09/06/2006, 10h35
  5. [VBA-A]Remplir une textbox avec des données de tables.
    Par cuicui08 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2006, 10h28

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