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 :

Pb de definition de plage de données pour un graphe


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Points : 125
    Points
    125
    Par défaut Pb de definition de plage de données pour un graphe
    Bonjour,
    je dois captuerer un large zone pour la plage de données d'un graphe,
    Fais fait une macro car j'ai un grand nombre de fichiers à traiter du même type.

    chaque fichier d'entrée à traiter n' a pas obligatoirement la même dimension, ma

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Si tu mettais déjà la macro qu'ont puisse avoir une idée de ce que tu veux .

  3. #3
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Points : 125
    Points
    125
    Par défaut
    désolé j ai eu une interruption brutale de mon pc pendant que j'écrivais mon PB.

    Donc il s'agit de faire une macro pour construire des graphes à partir de données situées dans un fichier . dat que j'ouvre avec excel.
    Il y a une grande quantité de fichiers à traiter, donc je ne veux pas me planter dans ma macro.

    outre les pb d'encapsulage pour rendre + pratique le traitement, j'aimerai pouvoir résoudre des palnatages du code qui viennent de la façon dont je code la capture de la plage de données dans la Variable(Range) zone_graph2.

    et l'aide de microsoft ne me donne pas beaucoup d'explication.

    ça plante à la ligne :

    set zone_graph2 = ...... etc

    j'aimerai mettre le fichier avec sa macro compléte en PJ mais je ne sais pas comment on fait.
    j'ai compris pour le code mais pas pour une piéce jointe.

    Patnel

    bon au moins je mets 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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
     
    Option Explicit
     
    Sub create()
    Dim C_ori, C_Dest  As Range
    Dim zone_graph, zone_graph2 As Range
    Dim LeGraph As Chart
    Dim ligne, i, j, k As Long
    Dim ori, dest As String
    Dim fiche As String
    Dim feuil As Worksheet
    'recuperer le nom de la feuille
     
    For Each feuil In Worksheets
    fiche = feuil.Name
     
    Next feuil
    Worksheets(fiche).Range("A15").Value = "NULL"
    ori = Worksheets(fiche).Range("F7").Value
    dest = "Axe X " & ori & " gRMS"
    Worksheets(fiche).Range("B15").Value = dest
     
    ori = Worksheets(fiche).Range("F8").Value
    dest = "Axe Y " & ori & " gRMS"
    Worksheets(fiche).Range("C15").Value = dest
     
    ori = Worksheets(fiche).Range("F9").Value
    dest = "Axe Z " & ori & " gRMS"
    Worksheets(fiche).Range("D15").Value = dest
     
     
     
    ' récuperer la zone de valeurs pour le graphique
    ' compter le nombre de lignes
     
    Set zone_graph = Worksheets(fiche).Rows(1)
     
    ligne = 15
    Do While (zone_graph.Offset(ligne).Columns(1).Value <> "")
    ligne = ligne + 1
    Loop
     
     
    Set zone_graph2 = Worksheets(fiche).Range(Cells(15, 1), Cells(ligne - 1, 4))
    'Worksheets(fiche).Range("A15").Value = ""
     
    Set LeGraph = ThisWorkbook.Charts.Add
     
    Set LeGraph = LeGraph.Location(Where:=xlLocationAsNewSheet)
     
     
     
    With LeGraph
            .SetSourceData Source:=zone_graph2
            .ChartType = xlXYScatterLinesNoMarkers
            .HasTitle = True
            .ChartTitle.Characters.Text = fiche
            .Axes(xlCategory, xlPrimary).HasTitle = True
            .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Fréquences en Hz"
            .Axes(xlValue, xlPrimary).HasTitle = True
            .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "niveau en g²RMS/Hz"
    End With
     
    LeGraph.ApplyDataLabels Type:=xlDataLabelsShowNone, LegendKey:=False
     
    'grille d'échelle primaire
    With LeGraph.Axes(xlCategory)
            .HasMajorGridlines = True
            .HasMinorGridlines = True
    End With
     
    'grille d'échelle secondaire
    With LeGraph.Axes(xlValue)
            .HasMajorGridlines = True
            .HasMinorGridlines = True
    End With
     
    With LeGraph.Axes(xlValue)
            .MinimumScaleIsAuto = True
            .MaximumScaleIsAuto = True
            .MinorUnitIsAuto = True
            .MajorUnitIsAuto = True
            .Crosses = xlMinimum
            .ReversePlotOrder = False
            .ScaleType = xlLogarithmic
            .DisplayUnit = xlNone
     
    End With
     
        With LeGraph.Axes(xlValue)
            .MinimumScaleIsAuto = True
            .MaximumScaleIsAuto = True
            .MinorUnitIsAuto = True
            .MajorUnitIsAuto = True
            .Crosses = xlMinimum
            .ReversePlotOrder = False
            .ScaleType = xlLogarithmic
            .DisplayUnit = xlNone
        End With
     
    End Sub

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/01/2015, 15h29
  2. [XL-2010] extension de la plage de données pour un rapport
    Par bzb23 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/01/2014, 23h15
  3. [XL-2010] Sélection de plusieurs plages de données pour un graphique : erreur macro
    Par Piixx_e dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 09/12/2013, 11h05
  4. type de donnée pour les graphes
    Par kensem dans le forum Développement
    Réponses: 3
    Dernier message: 26/10/2010, 13h22
  5. [XL-2003] faire une sélection dans une plage de données pour renseigner une liste de choix
    Par tremens dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/03/2010, 18h12

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