Bonsoir,
un petit soucis avec une macro!
j'utilise une macro qui me créée une nouvelle feuille nommé du mois en cours et qui me colle tout plein d'infos dessus.
Le probleme c'est que je veux agire sur cette feuille et créer un graphique, mais lorsque je dois selectionner les donnees graphique, il utilise le nom du mois pour appeller la feuille, ... mais si je passe au mois suivant, j'ai peur qu'il ne change pas de page ...
je ne suis pas sure d etre clair .. sorry
Voici mon code entier:
ArchiverMois Macro
'
'
Range("H13:I27").Select
Selection.Copy
Worksheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = MonthName(Month(Date)) '(la nouvelle feuille)
Sheets("Récapitulatif").Range("H13:I27").Copy
ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
ActiveSheet.Cells(1, 1).Select
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("janvier!$A$1:$B$15") et c la que ça bloque!!!
ActiveChart.ChartType = xlBarStacked
ActiveChart.ApplyChartTemplate ( _
"C:\Users\Marie\AppData\Roaming\Microsoft\Templates\Charts\Graphique1.crtx")
Range("C1").Select
ActiveWindow.DisplayGridlines = False
Range("A1:B15").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
Range("A15:B15").Select
Selection.Font.Bold = True
Range("A1:B1").Select
Selection.Font.Bold = True
Range("B15").Select
Sheets("Récapitulatif").Activate '(retour à la feuille de départ)
Application.ScreenUpdating = True
End Sub
Bon le code comprend plein de bidouilles pour le traitement du tableau, mais mon but est vraiment d'automatiser la manip et ne pas revenir pour chaque mois.
Merci par avance!!
Bonne nuit
un petit soucis avec une macro!
j'utilise une macro qui me créée une nouvelle feuille nommé du mois en cours et qui me colle tout plein d'infos dessus.
Le probleme c'est que je veux agire sur cette feuille et créer un graphique, mais lorsque je dois selectionner les donnees graphique, il utilise le nom du mois pour appeller la feuille, ... mais si je passe au mois suivant, j'ai peur qu'il ne change pas de page ...
je ne suis pas sure d etre clair .. sorry
Voici mon code entier:
ArchiverMois Macro
'
'
Range("H13:I27").Select
Selection.Copy
Worksheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = MonthName(Month(Date)) '(la nouvelle feuille)
Sheets("Récapitulatif").Range("H13:I27").Copy
ActiveSheet.Cells.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
ActiveSheet.Cells(1, 1).Select
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("janvier!$A$1:$B$15") et c la que ça bloque!!!
ActiveChart.ChartType = xlBarStacked
ActiveChart.ApplyChartTemplate ( _
"C:\Users\Marie\AppData\Roaming\Microsoft\Templates\Charts\Graphique1.crtx")
Range("C1").Select
ActiveWindow.DisplayGridlines = False
Range("A1:B15").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
Range("A15:B15").Select
Selection.Font.Bold = True
Range("A1:B1").Select
Selection.Font.Bold = True
Range("B15").Select
Sheets("Récapitulatif").Activate '(retour à la feuille de départ)
Application.ScreenUpdating = True
End Sub
Bon le code comprend plein de bidouilles pour le traitement du tableau, mais mon but est vraiment d'automatiser la manip et ne pas revenir pour chaque mois.
Merci par avance!!
Bonne nuit