VBA- Rafrachir les graphiques

Bonjour,

Dans un code précédent, j'utilise à toute fin pratique la même pour créer les graphiques ( dans un code, si la page est pas là créer la).

Alors, dans le but de rafraichir les graphiques si les données change j'ai fait un autre vba, il n'arrive pas au Worksheets des données .

le : X_axis et Y_axis bug affreusement.. Si quelqu'un sait d'où ce code sort ce serait intéressant;

:erreur d'exécution 1004, la méthode range de l'objet worksheet a échoué.

à noter: mes fichiers de données ont le même nom que ceux de leur vérification graphique(XXX) ; ceux que les graphiques ont: verif_XXX

Sub Rafraichissement_des_graphiques()

Dim wsChart As Worksheet, wsData As Worksheet
Dim objChart As ChartObject
Dim strTitle As String
Dim rCell As Range
Dim ifvalue As Long
Dim AChart As Chart
Dim X_axis As Range, Y_axis As Range

' fermer l'actualisation de la page
Application.ScreenUpdating = False

gdc_main = Sheets("Légende").Cells(8, 6).Value & ".xlsm"

For Each feuille In Workbooks(gdc_main).Worksheets

        If Left(feuille.Name, 5) = "verif" Then
ch_verif = feuille.Name
s_donnee = Mid(ch_verif, 7, 50)

gdc_main = Sheets("Légende").Cells(8, 6).Value & ".xlsm"
ch_verif = feuille.Name
s_donnee = Mid(ch_verif, 7, 50)

   Set wsData = Workbooks(gdc_main).Sheets(s_donnee)
   Set wsChart = Workbooks(gdc_main).Sheets(ch_verif)

' xfin = wsData.Cells(Rows.Count, 2).End(xlUp).Row

'Sheets(ch_verif).Cells.Delete
    For Each objChart In wsChart.ChartObjects
        objChart.Delete
    Next objChart

Set X_axis = wsData.Range("Q13", Range("Q65536").End(xlUp))
'Set X_axis = wsData.Range(Cells(13, 17), Cells(xfin, 17))

i = 0
    For p = 1 To 4 'graphique place
    For q = 1 To 3 ' graphique place

i = 1 + i
        strTitle = "Thermocouple #" & i
        Set rCell = wsChart.Cells(2, 2).Offset(22 * (q - 1), 8 * (p - 1))
        Set objChart = wsChart.ChartObjects.Add(rCell.Left, rCell.Top, 400, 300)
        objChart.Name = "Chart_" & i

        With objChart.Chart
            .HasTitle = True
            .HasLegend = True
            .ChartTitle.Text = strTitle
            .Axes(xlValue).HasTitle = True
            .Axes(xlValue).AxisTitle.Text = "Température (°C)"
            .Axes(xlCategory).HasTitle = True
            .Axes(xlCategory).AxisTitle.Text = "Temps (sec)"

    Set Y_axis = wsData.Range("Q13", Range("Q65536").End(xlUp)).Offset(0, i)
   ' Set Y_axis = wsData.Range(Cells(13, 17).Offset(0, i), Cells(xfin, 17).Offset(0, i))
                .SeriesCollection.NewSeries
                .SeriesCollection(1).Name = wsData.Range("Q12").Offset(0, i)
                .SeriesCollection(1).XValues = X_axis
                .SeriesCollection(1).Values = Y_axis
               .SeriesCollection(1).ChartType = xlLineMarkers
            strTitle = ""
        End With
        Next q
        Next p

        End If

Next feuille
'ouvrir l'Actualisation de la page
Application.ScreenUpdating = True
End Sub

Bonjour,

Merci de joindre un fichier à ta demande.

Cdlt.

Rechercher des sujets similaires à "vba rafrachir graphiques"