Bonjour,
Je suis nouveau, et je sollicite une aide, j'ai crée cette macro, le graphique s'affiche bien sans procédure de tri (si c'est correcte), mais je n'arrive pas à placer dans cette instruction :
.SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B128"), Range("P14128"))
à la place des ranges un tableau qui correspond à ma selection.
Le but : récupérer les données de B et P en colonne depuis la ligne 14 à 128 et trier les dix plus grandes valeurs.
Si toutefois on veux bien me donner une aide, je connais VBA depuis une semaine alors loin, très loin de maîtriser.
merci
cordialement
Je suis nouveau, et je sollicite une aide, j'ai crée cette macro, le graphique s'affiche bien sans procédure de tri (si c'est correcte), mais je n'arrive pas à placer dans cette instruction :
.SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B128"), Range("P14128"))
à la place des ranges un tableau qui correspond à ma selection.
Le but : récupérer les données de B et P en colonne depuis la ligne 14 à 128 et trier les dix plus grandes valeurs.
Si toutefois on veux bien me donner une aide, je connais VBA depuis une semaine alors loin, très loin de maîtriser.
merci
cordialement
Code:
Sub graphique()
'
' tri et place dans tableau
Dim plgrand(128, 17) As Integer, designation(128, 17) As String, i As Integer, j As Integer
j = 14 ' bouble while lecture de toutes les lignes
While j <= 128
For i = 14 To 128 ' Lecture lignes pour un passage et range la val plus grande dans tableau
If Range("P" & i).Value = 0 Then ' egal 0 alors evite rangement tableau
i = i + 1
Else
If Range("P" & i).Value < Cells(i - 1, 13) Then
' plgrand = Range("P" & i).Value
plgrand(i, 2) = Range("P" & i + 13)
' designation = Range("B" & i).Value
designation(i, 13) = Range("B" & i + 13)
End If
i = i + 1
End If
Next
i = 14
j = j + 1
Wend
' graphique Macro
'
'Création d'un graphique dans la feuille active.
ActiveSheet.Shapes.AddChart
'Activation du graphique
ActiveSheet.ChartObjects(1).Activate
'Propriétés du graphique
With ActiveChart
' Titre du Graphique
.HasTitle = True
.ChartTitle.Text = "Comparatif"
'Selection de la source des données
.SetSourceData Source:=Sheets(1).Application.Union(Range("B14:B128"), Range("P14:P128"))
'Définition du Type du Graphique en colonne
.ChartType = xl3DColumn
ActiveChart.ChartType = xlColumnClustered
ActiveChart.PlotArea.Select
ActiveChart.ClearToMatchStyle
ActiveChart.ChartStyle = 43
ActiveChart.ChartArea.Select
End With
End Sub
Dernière édition: