Créer un graphe sur une feuille non active

Gisamark

XLDnaute Junior
Créer un graphe sur une feuille non active [RESOLU]

[RESOLU]

Bonjour à tous,

J'ai un bouton sur ma feuille 2 qui crée un graphe sur ma feuille 3.
Ce qui me gène, c'est que la feuille 3 devient la feuille active, alors que je voudrais toujours être sur la feuille 2 après la construction du graphe.
J'ai rajouté un Worksheet(2).Select à la fin de mon code, mais ce n'est pas satisfaisant car durant l'execution du code, on voit la feuille 3 pendant une demi-seconde (le temps de la construction) et c'est très moche. :(
J'aimerais en fait rester sur la feuille 2 du début à la fin du processus.
Merci de votre aide. :)

Voici mon code :

Charts.Add
ActiveChart.ChartType = xlXYScatterLinesNoMarkers
ActiveChart.SetSourceData Source:=Sheets("1. Importation").Range("F4:J" & DrnLigne), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""I1"""
ActiveChart.SeriesCollection(2).Name = "=""I2"""
ActiveChart.SeriesCollection(3).Name = "=""I3"""
ActiveChart.SeriesCollection(4).Name = "=""In"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="2. Courbes" '2.Courbes est le nom de ma feuille 3
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Forme d'onde des courants"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Temps (ms)"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "I (A)"
End With
With ActiveChart
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
End With
ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With

With ActiveSheet.ChartObjects
.Left = 40
.Width = 500
.Top = 30
.Height = 330
End With

Worksheets(2).Select
 
Dernière édition:

mromain

XLDnaute Barbatruc
Re : Créer un graphe sur une feuille non active

bonjour Gisamark,

une autre solution serait de stopper le rafraichissement de l'écran durant l'exécution de ta macro en rajoutant en début de macro :
Application.ScreenUpdating = False
et en fin de macro (après le Worksheets(2).Select)
Application.ScreenUpdating = True

a+
 

Discussions similaires

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

Statistiques des forums

Discussions
312 206
Messages
2 086 220
Membres
103 158
dernier inscrit
laufin