Bonjour,
Je fais un tirage au sort qui me donnes des valeurs sur lesquelles je fais graphique en vba. Cela fonctionne bien. Le graphique apparaît et je le laisse sur la feuille Excel.
Je fais un second tirage qui me modifie les données pour faire un second graphique afin de pouvoir le comparer avec le premier. Ce second graphique apparaît mais le premier graphique est aussi modifié puisque ils sont faits sur la même source. Or je voudrais que ce premier graphique ne change plus pour faire une comparaison avec le second. Je voudrais probablement en faire plusieurs comme ça et les comparer. La source de données doit rester la même.
Est ce possible svp ?
Voici le code qui fonctionne jusqu'à mon souci.
Merci
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 Sub Aleatoire() Dim cell As Range Dim nombre As Integer Dim Grf As ChartObject Dim Sh As Worksheet If Range("c2") = "" Then MsgBox "Il faut au moins lancer le dé une fois !": Exit Sub If Range("c2") = 0 Then MsgBox "Il faut au moins lancer le dé une fois !": Exit Sub If Range("c2") > 16000 Then MsgBox "Ne pas lancer le dé plus de 16 000 fois !": Exit Sub nombre = Range("c2").Value Set maplage = Worksheets("tirages").Columns("A:a").Rows("1:" & nombre) Worksheets("tirages").Columns("A:A").Rows("1:160000").ClearContents For Each cell In maplage Randomize If cell = Empty Then cell = Int(6 * Rnd) + 1 'Génère une valeur entre 1 et 6 Next Set Sh = Sheets("Expérience") 'création du graphique7 Set Grf = Sh.ChartObjects.Add(140, 10, 500, 300) With Grf.Chart .ChartType = xlXYScatter .SeriesCollection.NewSeries .HasTitle = True .ChartTitle.Characters.Text = "Fréquence après " & nombre & " tirages " .HasLegend = False .Axes(xlValue).MinimumScale = 0 .Axes(xlValue).MaximumScale = 1 With .SeriesCollection(1) .Values = Sh.Range("e9:j9") .XValues = Sh.Range("e7:j7") End With End With Set Grf = Nothing Set Sh = Nothing End Sub
Partager