Range partiel (1 ligne sur 2) [Résolu]

Signaler
Messages postés
30
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
13 août 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour
Je fais actuellement un graphique de type "xl3DColumnClustered"

Le problème les valeurs de mes 2 series sont dans la même colonne

''ma série 1
ActiveChart.SeriesCollection(1).XValues =Range("D41,D43,D45,D47,D49,D51")
...
''ma série 1
ActiveChart.SeriesCollection(1).XValues =Range("D42,D44,D46,D48,D50,D52"
)

Le problème c'est que mes tableaux n'ont pas toujours(jamais) les mêmes dimension.

d'ou le besoin de d'obtenir ces plages de données automatiquement

J'ai bien sur pensé à une boucle avec Union mais il existe peut être une solution plus simple
Quelque chose du type Range("D42:D52",by=2) qui donnerait Range("D42,D44,D46,D48,D50,D52"),j'ai regardé mais je n'ai pas trouvé

Voilà en espérant avoir été clair,Merci d'avance

6 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Bonjour,
Un telle "méthode" n'existe pas
Regarde d'ailleurs l'exemple donné dans ton aide VBA à la rubrique Range.Row
Tu constateras qu'une boucle est nécessaire dans cet exemple (lignes paires et impaires).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
115
Date d'inscription
dimanche 6 avril 2003
Statut
Membre
Dernière intervention
29 juin 2012

bonjour
Le problème c'est que mes tableaux n'ont pas toujours(jamais) les mêmes dimension
tu cherche la derniere ligne de ton tableau voir "xlDown"
tu fais une boucle et tu utilise
MaVaiable = MaVaiable & "D" & NumBoucle & ","
ActiveChart.SeriesCollection(1).XValues =Range(MaVaiable)
@+JP
Messages postés
30
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
13 août 2012

OK Merci à tous les 2 j'ai toujours tendance à utiliser les boucles

'' graphique
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xl3DColumnClustered
Dim sel1 As String
Dim sel2 As String
''
rwdown = Range("C41").End(xlDown).Row
''mon tableau de donnée commence en  C41 eszt se finit en en "C" & rwdown
For rw = 41 To rwdown Step 2
sel1 = sel1 & "D" & rw & ","
Next rw
''on enléve la dernière virgule
Lsel1 = Len(sel1)
sel1 = Left(sel1, Lsel1 - 1)
''
For rw = 42 To rwdown Step 2
sel2 = sel2 & "D" & rw & ","
Next rw
''on enléve la dernière virgule
Lsel2 = Len(sel2)
sel2 = Left(sel2, Lsel2 - 1)
    
''serie 1 en rouge
ActiveChart.SeriesCollection.NewSeries
ActiveChart.ChartType = xl3DColumnClustered
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = Range(sel1)
ActiveChart.SeriesCollection(1).Interior.ColorIndex = 5
    
''serie 2 en bleu
ActiveChart.SeriesCollection.NewSeries
ActiveChart.ChartType = xl3DColumnClustered
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Values = Range(sel2)
ActiveChart.SeriesCollection(2).Interior.ColorIndex = 3
Next rw
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
M'étonnerait beaucoup que la compilation du code montré (tel qu'il est, jusqu'à sa dernière ligne) ne dénonce pas une erreur !
Cette erreur serait rendue évidente par une simple indentation du code montré.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
30
Date d'inscription
mercredi 23 mai 2012
Statut
Membre
Dernière intervention
13 août 2012

Oui effectivement la dernière ligne ne sert à rien,c'est une erreur de ma part quand j'ai trié les lignes qui concerne la question dans mon module
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
236
Prends s'il te plait la bonne habitude d'indenter ton code. C'est très loin d'être un luxe et tu t'en féliciteras vite.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ