erreur 91 pour un graphique Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
b
babalouche
Jeune membre
Jeune membre
Messages : 15
Inscrit le : 10 juillet 2018
Version d'Excel : 2013 FR

Message par babalouche » 12 juillet 2018, 12:01

Bonjour le forum,

Je dois faire une macro en vba pour faire des graphiques a partir de tableau contenu dans des fichiers.
mon fichier qui contient la macro agit sur le fichier contenant le tableau et doit créer une feuille sur celui ci pour y mettre les graphiques. Seulement j'ai une erreur 91 quand je commence à faire les graphiques.
Les lignes où sont l'erreur sont en gras ( comme j'ai un if j'ai plusieurs fois l'erreur ).
Le fichier test1_batiste1.xlsm est le fichier de la macro

Sub Workbook_Open()

Dim classeur As String
Dim Wkb As Workbook
Dim colonne As Integer
Dim ligne As Integer
Dim colonne_date As Integer
Dim compteur As Integer

Windows("test1_batiste1.xlsm").Activate

classeur = ""
For Each Wkb In Application.Workbooks
If Not Wkb Is ThisWorkbook And LCase(Wkb.Name) <> "test1_batiste1.xlsm" Then
classeur = Wkb.Name
Exit For
End If
Next Wkb

Workbooks(classeur).Activate

colonne = WorksheetFunction.CountA(Range("A1:BB1"))
ligne = WorksheetFunction.CountA(Range("A1:A1000"))

colonne_date = 1
compteur = 1

While (IsDate(Cells(2, colonne_date)) <> True And colonne_date < colonne + 2)
colonne_date = colonne_date + 1
Wend

Workbooks(classeur).Activate
Sheets(1).Activate
Workbooks(classeur).Sheets.Add After:=ActiveSheet

If (colonne_date = 1) Or (colonne_date > colonne) Then
For i = 1 To colonne - 1
Workbooks(classeur).ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
Workbooks(classeur).ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).Values = Workbooks(classeur).Sheets(1).Range(Workbooks(classeur).Sheets(1).Cells(2, i + 1), Workbooks(classeur).Sheets(1).Cells(ligne, i + 1))
ActiveChart.FullSeriesCollection(1).Name = Workbooks(classeur).Sheets(1).Cells(1, i + 1)
ActiveChart.FullSeriesCollection(1).XValues = Workbooks(classeur).Sheets(1).Range(Workbooks(classeur).Sheets(1).Cells(2, 1), Workbooks(classeur).Sheets(1).Cells(ligne, 1))
Workbooks(classeur).ActiveSheet.Shapes("Graphique " & i).IncrementLeft -230
Workbooks(classeur).ActiveSheet.Shapes("Graphique " & i).IncrementTop -50 + 300 * (i - 1)
Next i
Else
For i = 1 To colonne
Workbooks(classeur).ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
Workbooks(classeur).ActiveChart.SeriesCollection.NewSeries
ActiveChart.FullSeriesCollection(1).Values = Workbooks(classeur).Worksheets(1).Range(Workbooks(classeur).Sheets(1).Cells(2, i), Workbooks(classeur).Sheets(1).Cells(ligne, i))
ActiveChart.FullSeriesCollection(1).Name = Workbooks(classeur).Worksheets(1).Cells(1, i)
ActiveChart.FullSeriesCollection(1).XValues = Workbooks(classeur).Worksheets(1).Range(Workbooks(classeur).Sheets(1).Cells(2, colonne_date), Workbooks(classeur).Sheets(1).Cells(ligne, colonne_date))
Workbooks(classeur).ActiveSheet.Shapes("Graphique " & cc).IncrementLeft -230
Workbooks(classeur).ActiveSheet.Shapes("Graphique " & cc).IncrementTop -50 + 300 * (compteur - 1)

If colonne_date - 1 = i Then
i = i + 1
End If
compteur = compteur + 1
Next i
End If
End Sub
  • Sujets similaires
    Réponses
    Vues
    Dernier message