VBA Création de Graphique et mise en forme

guigui94

XLDnaute Nouveau
Bonjour à tous,

Je réalise actuellement une macro qui lorsqu'un fichier est ouvert par excel, ce fichier est mis en forme puis un graphique doit ce faire automatiquement et se déplacer dans un ouvel onglet.

Je rencontre un problème lors de la génération du graphique,

Voici toute la macro (j'ai mis en gras l'origine du problème) :
Sub Macro_Mise_en_forme()
'
' Macro_Mise_en_forme Macro
'

'
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Cells.Select
Selection.AutoFilter
Columns("A:L").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("F3").Select
Columns("E:E").ColumnWidth = 15.57
Columns("G:G").ColumnWidth = 15.57
Columns("H:H").ColumnWidth = 14.57
Columns("I:I").ColumnWidth = 13.43
Columns("J:J").ColumnWidth = 12.57
Columns("K:K").ColumnWidth = 14.14
Columns("L:L").ColumnWidth = 13.86
Range("D:D,G:G,H:H").Select

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source = Range("CF!$D:$D;CF!$G:$G;CF!$H:$H")
ActiveChart.Location Where:=xlLocationAsNewSheet
Sheets("CF").Select
Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A1:L1").Select
Range("L1").Activate
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
Range("A2:L2").Select
Selection.Style = "40*% - Accent2"
Range("A1:L1").Select
Selection.Style = "Accent3"
Range("A1:L1").Select
ActiveCell.FormulaR1C1 = "Report de la journée du : "
Range("A2").Select
End Sub

J'ai essayé de modifier les noms des colones (en retirant les $) ou encore en modifiant l'ordre des instructions mais rien ne change.

Voyez-vous d'où peux venir mon problème ?

Merci à vous :)
 

guigui94

XLDnaute Nouveau
Re : VBA Création de Graphique et mise en forme

Petit retour de ma part :

j'ai tenté de remplacer la ligne Range("D:D,G:G,H:H").Select par

Dim r1, r2, myMultipleRange As Range
Set r1 = Range("D:D")
Set r2 = Range("G:G")
Set r3 = Range("H:H")
Set myMultipleRange = Union(r1, r2, r3)
myMultipleRange.Select

Malheureusement, j'ai toujours une erreur sur ActiveSheet.Shapes.AddChart.Select
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : VBA Création de Graphique et mise en forme

Bonjour guigui,

Je rencontre un problème lors de la génération du graphique,

Pourrais-tu préciser davantage le problème ?

1- la macro bloque dans ce cas quelle est la ligne surlignée en jaune

2- la macro ne bloque pas ( si c'est la cas, il se pourrait que le nouveau graphique créé se positionne exactement sur le précédent). un moyen pour voir si c'est le cas, tu déplaces manuellement le graphe pour voir si il n'y aurait pas exactement le même en dessous

à+
Philippe
 

guigui94

XLDnaute Nouveau
Re : VBA Création de Graphique et mise en forme

Bonjour Philippe,

Merci de ta réponse ;). Désolé si je n'avais pas été clair dans mon 1er post.

Alors la Macro bloque lors de l’exécution sur la ligne "ActiveSheet.Shapes.AddChart.Select" (j'ai une erreur 1004 : Erreur définie par l'application ou l'objet")
Je pense que cela doit venir de la sélection des colonnes pour créer le graphique (vu que je sélectionne des colonnes qui ne sont pas côte à côte)

J'ai mis le fichier en PJ ;)
 

Pièces jointes

  • Test.xls
    178 KB · Affichages: 21
  • Test.xls
    178 KB · Affichages: 28
  • Test.xls
    178 KB · Affichages: 29
Dernière édition:

Discussions similaires