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 :

Mise à jour graph automatique


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Mise à jour graph automatique
    Bonjour,

    Je souhaite réaliser une sorte de base de données pour le boulot. J’ai réalisé plusieurs macros l’année passée, mais toujours en m’aidant à la base de l’enregistreur de macro et en modifiant.
    Ce coup-ci apparemment ça ne marchera pas, je viens donc vers vous pour avoir une piste pour me lancer.

    Voilà la situation :
    J’ai sur ma feuille 1 une base de données très complète, mais pas très lisible.
    Je souhaiterai intégrer d’autres feuilles contenant chacune un ou plusieurs graphs (nuages de points) permettant d’étudier plus facilement ces données.

    Le principe serait globalement le même pour tous les graphiques, peu importe si il y en à un ou plusieurs.
    Mon idée était de mettre un bouton à côté de chaque graph, avec indiqué « Mise à jour du graphique », je pense que ce sera le plus facile.

    Voilà donc l’idée :

    Le graph doit importer toutes les lignes de la feuille 1 qui ont une valeur numérique dans la colonne visée à partir de la ligne 7 incluse (pour l’exemple prenons la colonne K).
    La dernière ligne remplie pourra être lue dans la colonne A, qui sera toujours non vide si la ligne existe.
    Chaque graphique doit contenir 4 séries de données, dépendants de valeurs inscrites sur la feuille 1.

    Concrètement quelque chose du style :

    IF valeur dans colonne K = valeur numérique, alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    IF modèle = R
    	IF sous-modèle = E {copier dans la série 1}
    	ELSEIF sous-modèle = D {copier dans la série 2}
    IF modèle =/= R
    	IF sous-modèle = E {copier dans la série 3}
    	ELSEIF sous-modèle = D {copier dans la série 4}
    Avec K en ordonnée, et en abscisse, la valeur contenue dans la colonne D


    Par exemple :

    • La macro trouve une seule ligne non vide dans la colonne K à partir de K7 jusqu’en bas, disons la ligne 19 (sur la feuille 1).
    • Il recherche dans les colonnes modèles / sous-modèle à quelle série de donnée associer le point
    • Il associe le point avec la valeur de K19 en ordonnée et la valeur D19 en abscisse.



    Pour la mise en forme du graph, est-ce que je dois « préparer » la trame du graph à l’avance ? (Titre, option des axes, couleur des séries, …)
    Ou est-ce que la macro va re créer un nouveau graph à chaque fois ?

    Désolé pour la longueur du post, j’espère que je suis assez clair sinon j’essaierai d’expliquer autrement.
    Comme vous voyez je suis un peu dans le flou, un coup de main m’aiderait énormément

    Merci beaucoup

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bon, j'ai réussi à avancer, voilà actuellement le code que j'ai pour remplir la série.
    Ca a l'air de plutôt bien fonctionner, mais le souci c'est qu'à la fin je ne me retrouve qu'avec 4 points : les 4 derniers de la liste.

    Il semblerait que chaque incrémentation efface le point precedent.

    Comment faire pour AJOUTER un point dans une série et pas remplacer le precedent ?

    Voici donc le code :

    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
    For NoLig = 7 To DerLig
     
        Set plage_x = Sheets("Feuill1").Range("D" & NoLig)
        Set plage_y = Sheets("Feuill1").Range("K" & NoLig)
     
        If Sheets("Feuille1").Range("A" & NoLig).Value = "CONSTRUCTEUR" And Sheets("Feuill1").Range("E" & NoLig).Value = "TYPE1" Then
     
        ActiveChart.FullSeriesCollection(1).XValues = Sheets("Feuill1").Range("D" & NoLig)
        ActiveChart.FullSeriesCollection(1).Values = Sheets("Feuill1").Range("K" & NoLig)
     
        ElseIf Sheets("Feuill1").Range("A" & NoLig).Value = "CONSTRUCTEUR" And Sheets("Feuill1").Range("E" & NoLig).Value = "TYPE2" Then
     
        ActiveChart.FullSeriesCollection(2).XValues = plage_x
        ActiveChart.FullSeriesCollection(2).Values = plage_y
     
        ElseIf Sheets("Feuill1").Range("A" & NoLig).Value <> "CONSTRUCTEUR" And Sheets("Feuill1").Range("E" & NoLig).Value = "TYPE1" Then
     
        ActiveChart.FullSeriesCollection(3).XValues = plage_x
        ActiveChart.FullSeriesCollection(3).Values = plage_y
     
        ElseIf Sheets("Feuill1").Range("A" & NoLig).Value <> "CONSTRUCTEUR" And Sheets("Feuill1").Range("E" & NoLig).Value = "TYPE2" Then
     
        ActiveChart.FullSeriesCollection(4).XValues = plage_x
        ActiveChart.FullSeriesCollection(4).Values = plage_y
     
        End If
     
        Next
    Merci d'avance

Discussions similaires

  1. Mise a jour graph automatique via macro vba
    Par undo74 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 11/06/2015, 12h10
  2. [AC-2010] Date de mise à jour saisie automatiquement
    Par alineleleu dans le forum VBA Access
    Réponses: 7
    Dernier message: 30/06/2014, 16h01
  3. [XL-2007] Mise a jour graphe automatique apres choix de données
    Par glassgreen13 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/07/2010, 17h27
  4. Réponses: 6
    Dernier message: 12/01/2009, 08h29
  5. Mise à jour non automatique
    Par benejepo dans le forum Access
    Réponses: 1
    Dernier message: 08/01/2007, 18h11

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