Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

[VBA] Pb de modélisation graphique - Echelles automatiques



  1. #1
    xav0211

    Unhappy [VBA] Pb de modélisation graphique - Echelles automatiques


    ------

    Bonjour à tous!

    Voilà g un "petit" problème de modélisation graphique.... et vu que je suis pas fort en prog VBA g besoin de vos conseils avertis!

    Voici mon programme :

    Code:


    Private Sub CommandButton1_Click()

    Dim DateSaisie1 As Date
    Dim DateSaisie2 As Date
    Dim NumDate1 As Long
    Dim NumDate2 As Long

    If Me.TextBox1 = "" Then
    Fin:
    MsgBox "Aucune valeur saisie ou date erronée"
    Me.TextBox1.Value = ""
    Me.TextBox1.SetFocus
    Exit Sub
    End If

    On Error GoTo Fin

    If Me.TextBox2 = "" Then
    Fin2:
    MsgBox "Aucune valeur saisie ou date erronée"
    Me.TextBox2.Value = ""
    Me.TextBox2.SetFocus
    Exit Sub
    End If

    On Error GoTo Fin2

    DateSaisie1 = DateValue(Me.TextBox1.Value)
    DateSaisie2 = DateValue(Me.TextBox2.Value)

    NumDate1 = DateSerial(Year(DateSaisie1), Month(DateSaisie1), Day(DateSaisie1))
    NumDate2 = DateSerial(Year(DateSaisie2), Month(DateSaisie2), Day(DateSaisie2))

    Range("A1:A" & Cells(65536, 1).End(xlUp).Row).NumberFormat Local = "0"
    Selection.AutoFilter Field:=1, Criteria1:=">=" & NumDate1, Operator:=xlAnd, Criteria2:="<=" & NumDate2
    Range("A1:A" & Cells(65536, 1).End(xlUp).Row).NumberFormat Local = "jj/mm/aa"

    Sheets("Feuil1").AutoFilter.Ra nge.Copy Sheets("Feuil2").Range("A1:C1" )

    Sheets("Feuil2").Range("1:1"). Delete Shift:=xlShiftToLeft
    Sheets("Feuil2").Columns("A"). Delete Shift:=xlShiftToLeft


    'Graphique

    Sheets("Feuil2").Select
    Columns("A:B").Select
    Charts.Add
    ActiveChart.ChartType = xlLine
    ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range ("A1:B1585"), PlotBy _
    :=xlColumns
    ActiveChart.SeriesCollection(1 ).Delete
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Modélisation"
    With ActiveChart
    .HasTitle = True
    .ChartTitle.Characters.Text = "Modélisation du débit"
    .Axes(xlCategory, xlPrimary).HasTitle = False
    .Axes(xlValue, xlPrimary).HasTitle = True
    .Axes(xlValue, xlPrimary).AxisTitle.Character s.Text = "Débit"
    End With
    With ActiveChart.Axes(xlCategory)
    .HasMajorGridlines = True
    .HasMinorGridlines = False
    End With
    With ActiveChart.Axes(xlValue)
    .HasMajorGridlines = True
    .HasMinorGridlines = False
    End With
    ActiveChart.HasLegend = False
    ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowNone, LegendKey:=False
    ActiveChart.Axes(xlCategory).M ajorGridlines.Select
    ActiveChart.Axes(xlCategory).M ajorGridlines.Select
    With ActiveChart.Axes(xlCategory)
    .CrossesAt = 1
    .TickLabelSpacing = 30
    .TickMarkSpacing = 60
    .AxisBetweenCategories = True
    .ReversePlotOrder = False
    End With
    ActiveChart.PlotArea.Select
    Selection.ClearFormats
    ActiveChart.SeriesCollection(1 ).Select
    With Selection.Border
    .ColorIndex = 5
    .Weight = xlThin
    .LineStyle = xlContinuous
    End With
    With Selection
    .MarkerBackgroundColorIndex = xlNone
    .MarkerForegroundColorIndex = xlNone
    .MarkerStyle = xlNone
    .Smooth = False
    .MarkerSize = 3
    .Shadow = False
    End With


    End Sub

    Private Sub UserForm_Initialize()
    Range("A1").Select
    Me.TextBox1.SetFocus
    Me.TextBox2.SetFocus
    End Sub

    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Sheets("feuil1").Select
    Selection.AutoFilter Field:=1
    Range("A1:A" & Cells(65536, 1).End(xlUp).Row).NumberFormat Local = "jj/mm/aa"
    End Sub




    Le programme filtre automatiquement des valeurs et les recopie sur une nouvelle feuille... jusque là ca marche!
    Mais là où ca se complique c qd je veux modéliser ces valeurs par un graphique "courbe"... en effet, vu ke je m'y connais pas trop en fonctions vba, j'ai enregistré une macro et g recopié son contenu ds mon programme.... et bien sur c trop simple pr bien fonctionner : le graphe se trace, mais g 2 problèmes d'échelles
    le 1er : les abscisses qui devraient être affichées en hh:mm:ss sont affichée en code
    le 2eme et le plus important : j'arrive pas à mettre un code permettant d'obtenir des échelles automatiques pr y voir kkchose qd je modélise peu de valeurs et pr tout voir lorsque je modélise un gd nbre de valeurs...

    je vous remercie d'avance pr votre aide

    n'hésitez pas à me demander le classeur excel pr voir à quoi ce prog ressemblr exactement...

    Bonne journée à tous!

    -----

  2. #2
    jerome-gmc

    Re : [VBA] Pb de modélisation graphique - Echelles automatiques

    Pour le format date rajoute dans ton programme à la fin de la création de ton graph:

    ActiveSheet.ChartObjects("Modé lisation").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.Axes(xlCategory).S elect
    Selection.TickLabels.NumberFor mat = "hh:mm:ss;@"
    Mais si ta cellule sous excel est en format nombre, le graph le sera aussi.

    Concernant l'échelle automatique, normalement les graphiques excel sont configurés par défaut avec une échelle automatique.


    Je ne peut pas essayer ton programme il me manque pas mal d'interface utilisateur comme les Textbox...

    De plus je ne sais pas si c'est à cause du copier coller mais tu as des espaces qui se sont incrustés:

    ex: ActiveChart.Axes(xlCategory).M ajorGridlines.Select

    ActiveChart.Axes(xlCategory).M ajorGridlines.Select



    Dis moi si ça marche.

Discussions similaires

  1. échelles francaises d'evaluation?
    Par Résilient dans le forum Neuropsychologie et Psychologie
    Réponses: 4
    Dernier message: 26/04/2007, 19h57
  2. Escel: courbes à deux axes / échelles différentes
    Par sdidi73 dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 20/04/2007, 10h55
  3. Echelles dans l'univers
    Par elgringorrible dans le forum Archives
    Réponses: 40
    Dernier message: 13/04/2007, 14h38
  4. Etres vivants microscopiques, quelles échelles ?
    Par Lebask dans le forum Biologie
    Réponses: 8
    Dernier message: 17/01/2007, 19h32
  5. VBA - problème avec les dates dans les filtres automatiques
    Par xav0211 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 15/07/2004, 13h47
Découvrez nos comparatifs produits sur l'informatique et les technologies.