Comment mettre valeur tableau dans range

Thierry_C

XLDnaute Nouveau
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("P14:p128"))

à 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:

Thierry_C

XLDnaute Nouveau
Re : Comment mettre valeur tableau dans range

Bonsoir

l'instruction dans le setsourcedata fonctionne mais j'aimerais placer les tableaux de tri à la place des ranges,
les tableaux sont plgrand(i, 2) et designation(i, 13) si le tri est correcte.
j'ai laissé les valeurs du setsource pour ne pas planté la macro
merci
 

Efgé

XLDnaute Barbatruc
Re : Comment mettre valeur tableau dans range

Bonjour Thierry_C , jpb388
Le mieux serai d'avoir un petit fichier pour tester.
Mais dans un premier temps un exemple pour utiliser un array en tant que valeurs de la série 1 du graph actif

VB:
Sub Macro1()
   Dim T(1 To 2) As Long
   T(1) = 3
   T(2) = 2
    ActiveChart.SeriesCollection(1).Values = T
End Sub

Cordialement
 

Thierry_C

XLDnaute Nouveau
Re : Comment mettre valeur tableau dans range

Bonjour,

Je vous joint l'application pour que vous puissiez y voir mieux.
merci pour vos interventions
Cordidalement
 

Pièces jointes

  • Comparatif2.xlsm
    169.5 KB · Affichages: 31
  • Comparatif2.xlsm
    169.5 KB · Affichages: 34
  • Comparatif2.xlsm
    169.5 KB · Affichages: 33

Thierry_C

XLDnaute Nouveau
Re : Comment mettre valeur tableau dans range

le plantage n'a rien a voir, tu tape 1234, complétement oublier car chez moi il ne le demande plus, j'ai eu mis cela pour testé et je ne l'ai pas enlevé, et c'est du excel 2007.
Je l'ai envoyé à une amie et pas de souci.
désolé
 
Dernière édition:

Thierry_C

XLDnaute Nouveau
Re : Comment mettre valeur tableau dans range

Dans le doute je remets le fichier, encore sincèrement désolé Efgé
 

Pièces jointes

  • Comparatif2.xlsm
    166.5 KB · Affichages: 61
  • Comparatif2.xlsm
    166.5 KB · Affichages: 61
  • Comparatif2.xlsm
    166.5 KB · Affichages: 61

Discussions similaires

Réponses
0
Affichages
155

Statistiques des forums

Discussions
312 310
Messages
2 087 113
Membres
103 474
dernier inscrit
taha1995