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 :

Nuage de point en VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Homme Profil pro
    Ingénieur géologue
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur géologue

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Billets dans le blog
    4
    Par défaut Nuage de point en VBA Excel
    Bonjour,
    Je travaille à la création d'un graphique nuage de point en VBA Excel 2007 à l'aide de macros. Tout marche bien, jusqu'au moment ou je cherche à modifier les point (markersize et markerstyle). A ce niveau là je remarque que ma sélection ne fonctionne plus et mon programme s'arrête après le redimensionnement de la zone graphique . Voici le code que j'ai développé:
    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
    Sub macro1()
    'désactive message alerte
    Application.DisplayAlerts = False
    '
    On Error Resume Next
    Sheets("Graph3").Select
        ActiveWindow.SelectedSheets.Delete
    Charts.Add
    ActiveChart.Name = "CartMaroc"
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatter
    ActiveChart.SetSourceData Source:=Sheets("MarContPoint").Range("A2:B898")
    '
    'redimensionne zone graphique
    ActiveChart.Axes(xlValue).MinimumScale = 20
    With ActiveChart.ChartArea
            ' Voir la position et la taille acutelles dans la
            ' fenêtre d'exécution (Ctrl + G).
    '        Debug.Print .Left, .Top, .Width, .Height
            ' Appliquer les nouvelles dimensions.
            .Left = 0
            .Top = 0
            .Width = 580
            .Height = 80000
    End With
    '
    'selction d'un style
        ActiveChart.ClearToMatchStyle
        ActiveChart.ChartStyle = 1
        ActiveChart.ClearToMatchStyle
    'selection de la taille et de la marque du point
        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveChart.ChartArea.Select
        ActiveSheet.ChartObjects("Graphique 1").Activate
        ActiveChart.SeriesCollection(1).Select
        With Selection
            .MarkerStyle = 2
            .MarkerSize = 7
        End With
        Selection.MarkerSize = 2
    End Sub
    Merci pour toute aide

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour

    Travaille avec des variables objet (ici Ch)
    Insère avec précaution les gestions d''erreur

    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
    Sub Macro1()
    Dim Ch As Chart
     
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
     
    On Error Resume Next
    Sheets("CartMaroc").Delete
    On Error GoTo 0
    Application.DisplayAlerts = True
     
    Set Ch = Charts.Add(After:=Worksheets("MarContPoint"))
    With Ch
        .Name = "CartMaroc"
        .ChartType = xlXYScatter
        .SetSourceData Source:=Worksheets("MarContPoint").Range("A2:B898")
        .Axes(xlValue).MinimumScale = 20
        .ChartStyle = 2
        With .SeriesCollection(1)
            .MarkerStyle = 2
            .MarkerSize = 7
        End With
    End With
    Set Ch = Nothing
    End Sub

  3. #3
    Membre confirmé

    Homme Profil pro
    Ingénieur géologue
    Inscrit en
    Août 2008
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur géologue

    Informations forums :
    Inscription : Août 2008
    Messages : 125
    Billets dans le blog
    4
    Par défaut Nuage de point en vba Excel
    Bonjour,
    Merci ça marche très bien.

    Merci pour votre aide

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

Discussions similaires

  1. VBA Excel et power point
    Par Elcocco dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/02/2012, 17h49
  2. VBA: création graphique en nuages de points (Excel 2007)
    Par renard2007 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/02/2010, 21h49
  3. graphe de point sous vba excel
    Par marie33000 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/05/2009, 11h26
  4. problème EXCEL :graphique de nuage de points
    Par RIZOU dans le forum Excel
    Réponses: 1
    Dernier message: 20/04/2007, 09h00
  5. [VBA-E] : Axe des X des Chart / Nuage de point
    Par airbeone dans le forum Access
    Réponses: 3
    Dernier message: 01/09/2006, 19h14

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