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 :

Automatisation de création de graphiques


Sujet :

Macros et VBA Excel

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1
    Par défaut Automatisation de création de graphiques
    Bonjour à tous!

    Je débute en VBA et cela fait deux jours que j'essaye de faire une macro sans résultat, j'ai besoin d'aide pour trouver ce qui coince dans mon code.

    Je n'ai pas pu mettre le fichier Excel en pièce jointe donc j'ai mis quelques impressions écrans, et ci-dessous les explications sur ce que j'aimerais obtenir:

    J'ai deux feuilles excel:
    -la feuille 1 qui contient les différentes plages de données
    -la feuille 2 qui contiendra les graphiques relatifs à chaque plage de données

    Les deux feuilles sont sous forme d'une grosse matrice 12x12, dont chaque élément ((1,1), (1,2), (1,3) etc...) est une colonne de 180 valeurs (ce sont des valeurs en fonction d'un angle). J'ai donc au total 12x12x180 valeurs.

    J'aimerais pour chacune des plages de données un graphique type aires qui se place correctement et se mets aux bonnes dimensions comme j'ai fait à titre d'exemple dans la feuille 2.

    J'ai commencé à écrire le code pour la création et le placement du graphique (pas encore la mise au dimensions), mais j'ai pour commencer une erreur 1004 à la ligne "Set Values = Worksheets("Feuil1").Range(Cells(X, Y), Cells(U, V))" et je ne pense pas que ce sera la seule!

    Pouvez-vous m'aider?

    Coralie

    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
    Sub Graphe()
    '
    ' Graphe Macro
    '
    Dim i As Integer
    Dim j As Integer
     
     
     
    For i = 1 To 12
    For j = 1 To 12
     
    'Coordonnées de le première case de la plage de données allant en ordonées du graphe
    Dim X As Long
    X = 5 + (j - 1) * 186 'ligne
    Dim Y As Long
    Y = 1 + 3 * i 'colonne"
     
    'Coordonnées de le dernière case de la plage de données allant en ordonées du graphe
    Dim U As Long
    U = 5 + (j - 1) * 186 + 180 'ligne
    Dim V As Long
    V = 1 + 3 * i ' colonne
     
    Dim Graphic As Chart, Values As Range
    Cells(X, Y).Select 'Pour que le graphique se place au bon endroit
    Set Values = Worksheets("Feuil1").Range(Cells(X, Y), Cells(U, V))
    Set Graphic = ThisWorkbook.Charts.Add
    Graphic.ChartType = xlArea
    Graphic.SetSourceData Values, Range("B5,B185") ' toujours la même chose (de 0 à 180°), donc pas besoin de faire varier avec i et j
     
    Next
    Next
    End Sub
    Images attachées Images attachées   

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/04/2007, 20h17
  2. VBA Excel - Création de graphique
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2006, 16h11
  3. [Graphique] Création de graphiques
    Par missnouvelle dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 22/11/2005, 19h12
  4. Réponses: 4
    Dernier message: 28/10/2005, 20h58
  5. Création de graphique
    Par boxerbara dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 27/07/2005, 09h39

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