romainchu78
XLDnaute Occasionnel
Bonjour a tous,
jai une macro qui charge le contenu de fichiers text dans une nouvelle feuille excel. je suis limite a deux chargement.
une fois les donnees chargees, a laide d'une macro je creer un camembert sur chacune des deux feuilles.
mon code assigne le nom du fichier text au feuille excel. ainsi si je charge le fichier aaa.txt. les donnes du fichier aaa.txt iront dans une nouvelle feuille excel appel aussi aaa.
mon probleme est que lorsque je charge mon deuxieme fichier text lors de la creation du 2eme camembert; jai un message d'erreur: "argument ou appel de procedure incorrect" a la ligne 4: "ActiveChart.Location Where:=xlLocationAsObject, Name:=NomFichierCourt2".
voici le code du camembert (attention ca pique les yeux):
Charts.Add.Name = "Chart 2"
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets(NomFichierCourt2).Range("H5:I6,H8:I10"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:=NomFichierCourt2
ActiveChart.SeriesCollection(1).Points(1).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(2).Select
With Selection.Interior
.ColorIndex = 33
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(3).Select
With Selection.Interior
.ColorIndex = 41
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(4).Select
With Selection.Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(5).Select
With Selection.Interior
.ColorIndex = 55
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= _
False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:= _
True, ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
Range("A2").Select
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart 2").IncrementLeft 264.75
ActiveSheet.Shapes("Chart 2").IncrementTop 24.75
ActiveChart.Legend.Select
Selection.Delete
ActiveSheet.Shapes("Chart 2").ScaleWidth 0.9, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart 2").ScaleWidth 0.87, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart 2").IncrementTop 15#
ActiveWindow.Visible = False
Windows(NomFichierLong1).Activate
Range("J8:M8").Select
Range("M8").Activate
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A2").Select
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.PlotArea.Select
Selection.ClearFormats
With ActiveSheet.ChartObjects(1)
.Left = Range("H12").Left
.Top = Range("H12").Top
End With
le variable "NomFichierCourt2" sert a stoker le nom du fichier text charge et aussi celui de la feuille excel nouvellement cree (comme je les dit ils ont le meme nom". ces variables sont utilisees pour les deux fichiers. le premier fichier cree normalement le camembert. et le probleme intervient avec quelques fichier text charge pas tous.
jai essaye de declarer ces variables vide au debut, mais c'est pareil.
je suis vraiment coince...je ne comprend pas. please help...
jai une macro qui charge le contenu de fichiers text dans une nouvelle feuille excel. je suis limite a deux chargement.
une fois les donnees chargees, a laide d'une macro je creer un camembert sur chacune des deux feuilles.
mon code assigne le nom du fichier text au feuille excel. ainsi si je charge le fichier aaa.txt. les donnes du fichier aaa.txt iront dans une nouvelle feuille excel appel aussi aaa.
mon probleme est que lorsque je charge mon deuxieme fichier text lors de la creation du 2eme camembert; jai un message d'erreur: "argument ou appel de procedure incorrect" a la ligne 4: "ActiveChart.Location Where:=xlLocationAsObject, Name:=NomFichierCourt2".
voici le code du camembert (attention ca pique les yeux):
Charts.Add.Name = "Chart 2"
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets(NomFichierCourt2).Range("H5:I6,H8:I10"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:=NomFichierCourt2
ActiveChart.SeriesCollection(1).Points(1).Select
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(2).Select
With Selection.Interior
.ColorIndex = 33
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(3).Select
With Selection.Interior
.ColorIndex = 41
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(4).Select
With Selection.Interior
.ColorIndex = 5
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).Points(5).Select
With Selection.Interior
.ColorIndex = 55
.Pattern = xlSolid
End With
ActiveChart.SeriesCollection(1).ApplyDataLabels AutoText:=True, LegendKey:= _
False, HasLeaderLines:=True, ShowSeriesName:=False, ShowCategoryName:= _
True, ShowValue:=False, ShowPercentage:=True, ShowBubbleSize:=False
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
Range("A2").Select
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("Chart 2").IncrementLeft 264.75
ActiveSheet.Shapes("Chart 2").IncrementTop 24.75
ActiveChart.Legend.Select
Selection.Delete
ActiveSheet.Shapes("Chart 2").ScaleWidth 0.9, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart 2").ScaleWidth 0.87, msoFalse, msoScaleFromTopLeft
ActiveSheet.Shapes("Chart 2").IncrementTop 15#
ActiveWindow.Visible = False
Windows(NomFichierLong1).Activate
Range("J8:M8").Select
Range("M8").Activate
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = True
End With
Range("A2").Select
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.PlotArea.Select
Selection.ClearFormats
With ActiveSheet.ChartObjects(1)
.Left = Range("H12").Left
.Top = Range("H12").Top
End With
le variable "NomFichierCourt2" sert a stoker le nom du fichier text charge et aussi celui de la feuille excel nouvellement cree (comme je les dit ils ont le meme nom". ces variables sont utilisees pour les deux fichiers. le premier fichier cree normalement le camembert. et le probleme intervient avec quelques fichier text charge pas tous.
jai essaye de declarer ces variables vide au debut, mais c'est pareil.
je suis vraiment coince...je ne comprend pas. please help...