Créer un graphique tous le temps dans la même feuille

AWRcool

XLDnaute Nouveau
Bonjour à tous.
Après des heures de recherche en vain je me tourne vers vous.

J'ai commencé à créé un petit programme sur Excel et je me retrouve bloqué au niveau de mes graphiques.

Ma macro fonctionne seulement le graphique est créé à chaque fois dans une nouvelle feuille Graph1,2,3 et ainsi de suite, même quand si je supprime le premier (Graph1) lorsque je relance ma macro il me génères une nouvelle feuille Graph2

Le graphique est créé lorsque l’on clique sur une liste qui sélectionne automatiquement les valeurs (sa fonctionne très bien) cependant j'aimerais que le graphique se génère tous le temps dans la feuille Graph1.

Voici mon code du module appelé pour créer le graphique:
Option Explicit
Public choix As Variant

Sub graphique()

Dim x As Integer
Dim y As Integer
Dim xx As Integer

Application.ScreenUpdating = False

Sheets("Full_data").Activate
Range("A1").End(xlDown).Offset(1, 0).Select
x = ActiveCell.Row
xx = x - 1
y = choix
Range(Cells(1, y), Cells(xx, y)).Select

Charts.Add
With ActiveChart
.ChartType = xlLine
.ChartTitle.Characters.Text = "Pole " & choix

End With

Application.ScreenUpdating = True

End Sub

J'espère avoir bien expliqué mon problème et merci d'avance pour vos future réponces
 

camarchepas

XLDnaute Barbatruc
Re : Créer un graphique tous le temps dans la même feuille

Une possibilité

Nettoyer la feuille graphique avant de la reconstruire

exemple

Sub Macro1()
'

ActiveChart.ChartArea.Clear
ActiveChart.SetSourceData Source:=Sheets("Feuil3").Range("A2:A18")
End Sub
 

AWRcool

XLDnaute Nouveau
Re : Créer un graphique tous le temps dans la même feuille

Merci pour ta réponse.

ActiveChart.ChartArea.Clear
Supprime bien le graphique présent dans la feuille (Graph1 pour la première fois que je lance ma macro) mais ne supprime pas la feuille et continue à incrémenter les feuille après chaque relance de ma macro.

Voici comment je l'ais utilisé (ps: le code à un peut changer depuis avant :D )

Option Explicit
Public choix As Variant
Private gr As String
Private chemin As String


Sub graphique()
Dim x As Integer
Dim y As Integer
Dim xx As Integer

chemin = ThisWorkbook.Path
gr = chemin & "\ImageTemp.gif"

Application.ScreenUpdating = False

'Supprime l'image temportaire si elle existe
If Dir(gr) <> "" Then Kill gr


'selection du pole
Sheets("Full_data").Activate
Range("A1").End(xlDown).Offset(1, 0).Select
x = ActiveCell.Row
xx = x - 1
y = choix
Range(Cells(1, y), Cells(xx, y)).Select

'création du graphique
Charts.Add
With ActiveChart
.ChartType = xlLine
.ChartTitle.Characters.Text = "Pole " & choix
.Export Filename:=gr, filtername:="GIF"

End With

'Affiche l'image dans l'UserForm
af.framegraph.Picture = LoadPicture(gr)

'Supprime l'image temportaire si elle existe
If Dir(gr) <> "" Then Kill gr

ActiveChart.ChartArea.clear

Application.ScreenUpdating = True

End Sub
 

camarchepas

XLDnaute Barbatruc
Re : Créer un graphique tous le temps dans la même feuille

Je ferais plutot comme ceci , testé mais dans un univers neutre, ne ressemblant certainement pas au tiens .

Enfin la premiere fois si graph1 n'existe pas il est créé et sinon simplement effacé

Code:
'création du graphique
On Error Resume Next
Charts("Graph1").Select
If Err.Number <> 0 Then
  Charts.Add
  ActiveChart.Name = "Graph1"
 Else
  Charts("Graph1").ChartArea.Clear
End If
On Error GoTo 0
With ActiveChart
.ChartType = xlLine
.ChartTitle.Characters.Text = "Pole " & choix
.Export Filename:=gr, filtername:="GIF"

End With
 

AWRcool

XLDnaute Nouveau
Re : Créer un graphique tous le temps dans la même feuille

Merci pour ton aide
Avec ce code la macro ne créé plus qu’une feuille Graph1 (bon signe)
Cependant la premier exécution marche et après quand je relance la macro plus rien, la feuille graph1 reste vide

Dsl mais mon niveau de VBA est trop juste pour comprendre pourquoi :D
 

camarchepas

XLDnaute Barbatruc
Re : Créer un graphique tous le temps dans la même feuille

Pourrais-tu me fournir un jeu de données pour que je fasse les essais,

là je fais un peu dans le vide, et donc je vois pas grand chose.

Sinon, essai de faire du pas à pas au niveau du code pour voir si tu vois quelque chose qui cloche
 

AWRcool

XLDnaute Nouveau
Re : Créer un graphique tous le temps dans la même feuille

Alors en gros, j'ai une feuille "Full_data" ou j'importe des données chaque colonne est une mesure d’environ 2000 point sa peut aller de 20 à 100 colonnes

Dans cette feuille les mesures sont bonne ou mauvaise (ca s'est gérer par une autre macro mais je raccourci la chose ^^)
Donc dans mon UserForm j'ai 2 listebox (bonne ou mauvaise)

Quand je click sur une mesure que ce soit dans une listbox ou l'autre le graphique s'affiche dans une frame (avec un bouton qui permet de l'imprimer)

A chaque sélection dans une liste box la frame affiche la courbe correspondante

Mon scripte fonctionnai mais après avoir cliqué, par exemple sur 60 mesures différentes pour en afficher la courbe, je me retrouvais avec 60 feuille "Graph1,2,3,..."
Voila pour les explications

Alors au niveau de ton code, j'ai fait du pas à pas, la première fois que l’on clique dans une des listebox la courbe s’affiche correctement
Par contre à partir de la, quand je choisi une autre mesure dans une des listebox la macro ne passe plus que par la boucle Else du If (je sais pas si je m'exprime correctement :D ) et la courbe ne s’affiche plus.

Ps: dans mon code la variable choix contient le numéro de la colonne donc le mesure souhaité
je te passe en piece jointe un exemple des donnée contenue dans la feuille Full_data
 

Pièces jointes

  • full_data exemple.xls
    240 KB · Affichages: 20

camarchepas

XLDnaute Barbatruc
Re : Créer un graphique tous le temps dans la même feuille

Re ,

Avec quelques données pour essayer , c'est toujours mieux .

Voici donc le code incorporé .

Executes pas à pas , ensuite il faudra juste l'incorporer à ton vrai fichier
 

Pièces jointes

  • full_data exemple.xlsm
    121.6 KB · Affichages: 17

Discussions similaires

Réponses
0
Affichages
148
Réponses
1
Affichages
164

Statistiques des forums

Discussions
312 202
Messages
2 086 177
Membres
103 152
dernier inscrit
Karibu