Bloquer message application.displayalert=false innefficace
Bonjour tout le monde petit problème de message d'alertes.
Lorsque je fais tourner ma macro je crée des graphes sans problème. Il e,st alors possible à l'utilisateur de prendre en compte ou non des valeurs à l'aide d'un togglebutton.
Lors du rafraichissement des onglets il me marque le message suivant pour chaque graphe : " le nombre maximale de points que vous pouvez utiliser pour un graphique 2D dans une série de données est de 32000. Si vous voulez tracer plus de 32000 points, créer deux séries ou plus."
Outre le fait que la série ne contienne qu'une 20taine de points maxi, j'utilise un application.displayalert=false. Je ne vois pas comment m'affranchir de ces messages. D'autant qu'une fois le message passé (appui sur OK) les graphes s'affichent correctement.
Voici un abrégé de mon code à noter que toutes les variables sont instanciées avant :
Toggle Button sur la feuille
Code:
1 2 3 4 5 6 7 8
| Sub O_N4_Click()
If O_N4.Value = True Then
O_N4.BackColor = RGB(0, 255, 0)
Else
O_N4.BackColor = RGB(255, 0, 0)
End If
Call Recalc
End Sub |
Code pour tracer graphique
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
Sub Graphic()
Application.DisplayAlerts = False
'Feuille Data
For Each ch In F_Data.ChartObjects
ch.Delete
Next ch
i = F_Data.Range("A" & Rows.Count).End(xlUp).Row
i = i + 2
i = (F_Data.Cells(i, 1).Top)
'graph 1
Set G = F_Data.ChartObjects.Add(0, i, Round(GetSystemMetrics(0) / 4, 0), Round((GetSystemMetrics(0) / 4) / 1.5, 0)).Chart
G.ChartType = xlXYScatter
G.HasLegend = False
G.HasTitle = True
G.ChartTitle.Text = "Graphe 1"
With G.Axes(xlCategory) 'axe des abscisses
.HasTitle = True 'définition du titre des abscisses
.AxisTitle.Characters.Text = "Abscisse"
.MinimumScale = 0 'valeur minimale
End With
With G.Axes(xlValue) 'axe des ordonnées
.HasTitle = True 'définition du titre des ordonnées
.AxisTitle.Characters.Text = "Ordonnée"
.MinimumScale = 0 'valeur minimale
End With
Set serie = G.SeriesCollection.NewSeries
serie.XValues = F_Calc_b.Range(F_Calc_b.Cells(2, 4), F_Calc_b.Cells(2, 4).End(xlDown)) 'abscisse
serie.Values = F_Calc_b.Range(F_Calc_b.Cells(2, 15), F_Calc_b.Cells(2, 15).End(xlDown)) 'ordonnée
serie.MarkerStyle = xlMarkerStyleCircle
serie.MarkerSize = 6
Set T = serie.Trendlines.Add
T.Type = xlPower
T.DisplayEquation = True
T.DisplayRSquared = True
'idem pour les autres graph 12 au total
Application.DisplayAlerts = True
End Sub |
Merci de votre aide