Messieurs/dames bonjour,
Tout d'abord je tiens à remercier ce forum qui m'a grandement aidé jusqu'ici sur la réalisation de ma macro. Tout les problèmes que j'ai pu rencontrer avaient déjà été résolus par l'un d'entre vous^^
Mais là je bloque et ne trouve rien sur le net.. J’espère que vous pourrez m'aider.
Une partie de ma macro consiste à mettre à jour les valeurs d'un graphique à partir d'une plage de données variable.
En ordonnées j'ai des valeurs numérique, et en abscisse des heures.
Voici ma macro :
(en gras la ligne qui ne marche pas)
Avec la première ligne je viens sélectionner le nombre maximum de valeurs possibles (dans certains cas j'aurai beaucoup moi de valeurs à prendre en compte mais j'arrives à gérer le min et max de l'échelle a l'aide de macro)
Avec la deuxième ligne, je viens sélectionner mes valeurs en abscisses. dans un premier temps je pensais appliquer la même méthode que pour l'ordonnée. Seulement dans mes options de graphique, le min,max,graduation,.. ont disparus.. Et vu que je viens selectionner des cases vides, mon graph n'est pas centré et impossible de zoomer..
Je me suis donc dit qu'en sélectionnant pile poil les valeurs à mettre en x le problème serait résolu ! D'où le "range(cells...)"
Mais j'obtiens systématiquement un message d'erreur l'orsque je lance ma macro.. ("Erreur définie par l'objet ou l'application")
Et si je met juste un range("A9:A..") pas de problèmes
Avez vous une idée de la raison?
Je crois pas avoir été très clair mais si vous voulez plus d'info n’hésitez pas..
Tout d'abord je tiens à remercier ce forum qui m'a grandement aidé jusqu'ici sur la réalisation de ma macro. Tout les problèmes que j'ai pu rencontrer avaient déjà été résolus par l'un d'entre vous^^
Mais là je bloque et ne trouve rien sur le net.. J’espère que vous pourrez m'aider.
Une partie de ma macro consiste à mettre à jour les valeurs d'un graphique à partir d'une plage de données variable.
En ordonnées j'ai des valeurs numérique, et en abscisse des heures.
Voici ma macro :
(en gras la ligne qui ne marche pas)
Sub graph()
' graph Macro
Dim e As Double
Dim x As Double
Dim p As Double
Dim g As Double
Dim h As Double
Dim mx As Integer
a = Sheets("Page de garde").Range("S26").Value 'a: nb ligne
e = a + 8 'première ligne de valeur
x = Sheets("Page de garde").Range("S25").Value 'nb colonne
p = x + 23 'pour 2em graph
g = Sheets("Données en charge").Cells(9, 2)
h = g
For i = 9 To e 'calcul du min et max
For j = 2 To x
valeur = Sheets("Données en charge").Cells(i, j)
If Sheets("Données en charge").Cells(i, j) > g Then
g = Sheets("Données en charge").Cells(i, j)
End If
If Sheets("Données en charge").Cells(i, j) < h Then
h = Sheets("Données en charge").Cells(i, j)
End If
Next j
Next i
seb = g
seb2 = h
Sheets("Graphes Température en charge").Select
ActiveSheet.Unprotect "jljljl"
Range("Y64").Select
Selection.AutoFill Destination:=Range("Y64:BV64"), Type:=xlFillDefault
Range("Y65").Select
Selection.AutoFill Destination:=Range("Y65:BV65"), Type:=xlFillDefault
ActiveSheet.ChartObjects("Graphique 1").Activate
Set c = Sheets("Données en charge").Range("C8")
Do While c <> ""
With ActiveChart
.SeriesCollection.NewSeries 'Ajoute une série
With .SeriesCollection(.SeriesCollection.Count)
.Name = c 'Nom de la série
.XValues = Sheets("Données en charge").Range(Cells(9, 1), Cells(e, 1)) 'abscisses
.Values = Sheets("Données en charge").Range(c.Offset(1, 0), c.Offset(1, 0).End(xlDown)) 'ordonnées
End With
End With
Set c = c.Offset(0, 1) 'Décalage de 1 colonnes à gauche pour voir la prochaine série
Loop
ActiveChart.SeriesCollection(1).Values = Sheets("Données en charge").Range("B9:B1449")
ActiveChart.SeriesCollection(1).XValues = Sheets("Données en charge").Range(Cells(9, 1), Cells(e, 1))
ActiveChart.PlotArea.Select
ActiveChart.Axes(xlValue).MaximumScale = g + 1
ActiveChart.Axes(xlValue).MinimumScale = h - 1
Avec la première ligne je viens sélectionner le nombre maximum de valeurs possibles (dans certains cas j'aurai beaucoup moi de valeurs à prendre en compte mais j'arrives à gérer le min et max de l'échelle a l'aide de macro)
Avec la deuxième ligne, je viens sélectionner mes valeurs en abscisses. dans un premier temps je pensais appliquer la même méthode que pour l'ordonnée. Seulement dans mes options de graphique, le min,max,graduation,.. ont disparus.. Et vu que je viens selectionner des cases vides, mon graph n'est pas centré et impossible de zoomer..
Je me suis donc dit qu'en sélectionnant pile poil les valeurs à mettre en x le problème serait résolu ! D'où le "range(cells...)"
Mais j'obtiens systématiquement un message d'erreur l'orsque je lance ma macro.. ("Erreur définie par l'objet ou l'application")
Et si je met juste un range("A9:A..") pas de problèmes
Avez vous une idée de la raison?
Je crois pas avoir été très clair mais si vous voulez plus d'info n’hésitez pas..