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 02/01/2012, 21h39   #1
Invité de passage
 
Inscription : janvier 2012
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 14
Points : 2
Points : 2
Par défaut Choix de plage dynamique pour un graphique

Bonjour, je souhaiterai sélectionner pour faire un graphe, des plages dynamiques, surtout pour rajouter une autre courbe sur mon graphe, mais j'y arrive pas. je veux démarrer ma deuxième courbe a partir de la cellule numéro "AC2"+ lag, et jusqu’à $AC$1947 + lag au lieu de "A2" et $AC$1947 respectivement , comment faire pour changer ça
voici mon code, si vous avez des suggestions,
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
Sub Graphe2()
 
Dim rgPlage As Range
 
Set lag = Worksheets("FED MODEL").Range("S28")
 
Set rgPlage = Range("U1:U1947,AA1:AA1947")
 
moy = InputBox("Voullez vous tracer les primes de risques moyénées ? Tappez oui le cas échéant", Choix)
 
Charts.Add
    With ActiveChart
    'définit le type de graphique
        .ChartType = xlLine
    'définit la plage source
        .SetSourceData Source:=rgPlage
 
    End With
 
 
    If moy = "oui" Then
 
    ActiveChart.ChartArea.Select
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "=""Primes_moyénées"""
    ActiveChart.SeriesCollection(2).Values = "='FED MODEL'!$AC$2:$AC$1947"
    ActiveChart.SeriesCollection(2).XValues = "='FED MODEL'!$U$2:$U$1947"
    End If
 
  End Sub
merci d'avance
karimus00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 21h56   #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
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
Sub Graphe2()
Dim Ch As Chart
Dim rgPlage As Range, Lag As Range
Dim LastLig As Long
Dim Moy As Long
 
Application.ScreenUpdating = False
 
With ThisWorkbook.Worksheets("FED MODEL")
    LastLig = .Cells(.Rows.Count, "U").End(xlUp).Row
    Set Lag = .Range("S28")
    Set rgPlage = .Range("U1:U" & LastLig & ",AA1:AA" & LastLig)
End With
 
Moy = MsgBox("Voullez vous tracer les primes de risques moyénées?", vbYesNo + vbDefaultButton1)
 
Set Ch = ThisWorkbook.Charts.Add
With Ch
    .ChartType = xlLine
    .SetSourceData Source:=rgPlage
    If Moy = vbYes Then
        With .SeriesCollection.NewSeries
            .Name = "Primes_moyénées"
            .Values = "'FED MODEL'!$AC$2:$AC$" & LastLig
        End With
    End If
End With
Set Ch = Nothing
Set rgPlage = Nothing
Set Lag = Nothing
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 22h25   #3
Invité de passage
 
Inscription : janvier 2012
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 14
Points : 2
Points : 2
Merci beaucoup,

ça marche parfaitement,

vu que jusqu'au lag, c'est des zeros, y aurait-il un moyen, de commencer a tracer à partir de cette cellule seulement (directement de cette cellule) ?
karimus00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 22h34   #4
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
Et qu'est ce que tu as en cellule S28? (Lag)
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2012, 22h41   #5
Invité de passage
 
Inscription : janvier 2012
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 14
Points : 2
Points : 2
justement, c'est le nombre de cellules où y a des zéros. Par ce que c'est une moyenne mobile, avec comme paramètre le lag.
karimus00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 22h53   #6
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
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
Sub Graphe2()
Dim LastLig As Long, Lag As Long, Moy As Long
Dim rgPlage As Range
Dim Ch As Chart
 
Application.ScreenUpdating = False
 
With ThisWorkbook.Worksheets("FED MODEL")
    LastLig = .Cells(.Rows.Count, "U").End(xlUp).Row
    Lag = Val(.Range("S28"))
    Set rgPlage = .Range("U" & 1 + Lag & ":U" & LastLig & ",AA" & 1 + Lag & ":AA" & LastLig)
End With
 
Moy = MsgBox("Voullez vous tracer les primes de risques moyénées?", vbYesNo + vbDefaultButton1)
 
Set Ch = ThisWorkbook.Charts.Add
With Ch
    .ChartType = xlLine
    .SetSourceData Source:=rgPlage
    If Moy = vbYes Then
        With .SeriesCollection.NewSeries
            .Name = "Primes_moyénées"
            .Values = "'FED MODEL'!AC" & 2 + Lag & ":AC" & LastLig
        End With
    End If
End With
Set Ch = Nothing
Set rgPlage = Nothing
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2012, 23h09   #7
Invité de passage
 
Inscription : janvier 2012
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 14
Points : 2
Points : 2
merci beaucoup

juste une question encore: si je veux que ça dessine QUE les primes moyennées à partir du lag comment je fais ?
karimus00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 23h14   #8
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
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Graphe3()
Dim LastLig As Long, Lag As Long
Dim rgPlage As Range
Dim Ch As Chart
 
Application.ScreenUpdating = False
 
With ThisWorkbook.Worksheets("FED MODEL")
    LastLig = .Cells(.Rows.Count, "U").End(xlUp).Row
    Lag = Val(.Range("S28"))
    Set rgPlage = .Range("U" & 1 + Lag & ":U" & LastLig & ",AC" & 1 + Lag & ":AC" & LastLig)
End With
 
Set Ch = ThisWorkbook.Charts.Add
With Ch
    .ChartType = xlLine
    .SetSourceData Source:=rgPlage
    .SeriesCollection(1).Name = "Primes_moyénées"
End With
Set Ch = Nothing
Set rgPlage = Nothing
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/01/2012, 23h19   #9
Invité de passage
 
Inscription : janvier 2012
Messages : 14
Détails du profil
Informations forums :
Inscription : janvier 2012
Messages : 14
Points : 2
Points : 2
merci
karimus00 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 03h47.


 
 
 
 
Partenaires

Hébergement Web