Re : Mon programme n'affiche pas au bon moment la boite de dialogue
Merci Pierrot93, en supprimant les lignes "Application.ScreenUpdating = False" sa marche nickel.
J'ai 2 autres problèmes :
Le premier est qu'il affiche la première fois le graphique à la bonne dimension, mais après il affiche le graphique sans les dimensions données dans mon programme (voir prg en bas). Je pense qu'il faut nommer le graphe à un endroit et lorque je le supprime, il faut donner ce nom.
Le deuxième est que je voudrais positionné à un endroit précis la boite de dialogue sur l'écran, comment faire si c'est possible.
ActiveSheet.ChartObjects("Graphique 1").Delete
Charts.Add
ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
ActiveChart.SetSourceData Source:=Sheets("Graphecaract").Range("N3:O43"), PlotBy _
:=xlColumns
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""Caractéristique à vide tendance"""
ActiveChart.SeriesCollection(2).XValues = "=Graphecaract!R3C2:R15C2"
ActiveChart.SeriesCollection(2).Values = "=Graphecaract!R3C3:R15C3"
ActiveChart.SeriesCollection(2).Name = "=""Caractéristique à vide d'origine"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphecaract"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Caractéristiques à vide"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Courant d'excitation (A)"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Tension à vide (V)"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlRight
ActiveSheet.Shapes("Graphique 1").IncrementLeft -160.75
ActiveSheet.Shapes("Graphique 1").IncrementTop -90#
ActiveSheet.Shapes("Graphique 1").ScaleWidth 1.8, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Graphique 1").ScaleHeight 1.5, msoFalse, _
msoScaleFromTopLeft