Sélection de plusieurs plages en excel avec VB6

Résolu
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 - 1 févr. 2005 à 10:42
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 - 1 févr. 2005 à 12:20
Coucou tout le monde

Voila g un petit pb de sélection de plages.
En fait g un grand tableau, et je doit faire un graphique par colonne, je dois dc pour chaque graphique, sélectionner ma première colonne ou sont les titres, et me deuxème colonne, ou sont mes valeurs.
G déja essayer de faire une union, et de faire un range tout simple, mais je n'y arrive pas. Voila le code que j'ai a présent et qui ne marche pas :

dim plage1 as range
dim plage2 as range
dim ma_plage as range

set plage1 = xlapp.range(cells(nbl, nbc)),(cells(lignetitre, nbc)
set plage2 = xlapp.range(cells(nbl, colonnetitre)),(cells(lignetitre,colonnetitre))
set ma_plage = union(range(plage1),(plage2))

L'erreur est direct dès la première ligne (attendu fin d'instruction).
Et je me suis aussi demandé, comment est ce que le prog va savoir que c dans la feuille 1 qu'il faut aller chercher ces plages?

Sauriez vous quelle est l'erreur, ou auriez vous une autre solution pour sélectionner mes deux plages?

Merci bcp .

BIz

3 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
1 févr. 2005 à 11:11
Il manque les xlapp devant les cells + erreur dans les parenthèses.set plage1 xlapp.range(cells(nbl, nbc)),(cells(lignetitre, nbc))> set plage1 = xlapp.range(xlapp.cells(nbl, nbc),xlapp.cells(lignetitre, nbc))
set plage2 = xlapp.range(xlapp.cells(nbl, colonnetitre), xlapp.cells(lignetitre,colonnetitre))
set ma_plage = union(plage1,plage2)

Pour être sur d'être dans la bonne feuille, le mieux est de faire la chose suivante (en plus ça simplifie vachement la lecture du code) :
with xlapp.worksheets("Feuil1")

set plage1 = .range(.cells(nbl, nbc), .cells(lignetitre, nbc))
set plage2 = .range(.cells(nbl, colonnetitre), .cells(lignetitre,colonnetitre))
set ma_plage = union(plage1,plage2)
end with

Si tu ne précises pas la feuille, il va chercher dans la feuille active du classeur.
3
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 2
1 févr. 2005 à 11:32
Oki ça a l'air de marcher, mais g un pb, c que ensuite lorsque je veux faire mon graphique, il ne veut pas se servir de cette variable (ma_plage) comme source :

set graph_timer = xlapp.activesheet.chartobject.add(10,10,500,250)
graph_timer.chart.setsourcedata xlapp.range(ma_plage)

Est ce que c comme ça qu'il faut l'utiliser?

Merci bcp :-) :-)

BIz
0
ndsaerith Messages postés 304 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 10 mai 2017 2
1 févr. 2005 à 12:20
En fait g reussi, il fallait juste mettre
graph_timer.chart.setsourcedata ma_plage

Voila, merci bcp bcp pour ton aide

BIz
0
Rejoignez-nous