Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/12/2011, 23h56   #1
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 113
Points : 27
Points : 27
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 :
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
zemblamoh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 10h24   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour

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

Code :
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
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2011, 15h07   #3
Nouveau Membre du Club
 
Inscription : août 2008
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 113
Points : 27
Points : 27
Par défaut Nuage de point en vba Excel

Bonjour,
Merci ça marche très bien.

Merci pour votre aide
zemblamoh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h17.


 
 
 
 
Partenaires

Hébergement Web