Sélection de plusieurs plages en excel avec VB6 [Résolu]

ndsaerith 307 Messages postés vendredi 16 janvier 2004Date d'inscription 10 mai 2017 Dernière intervention - 1 févr. 2005 à 10:42 - Dernière réponse : ndsaerith 307 Messages postés vendredi 16 janvier 2004Date d'inscription 10 mai 2017 Dernière intervention
- 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
Afficher la suite 

3 réponses

Meilleure réponse
mrdep1978 402 Messages postés jeudi 25 novembre 2004Date d'inscription 7 juin 2009 Dernière intervention - 1 févr. 2005 à 11:11
3
Merci
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.

Merci mrdep1978 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

ndsaerith 307 Messages postés vendredi 16 janvier 2004Date d'inscription 10 mai 2017 Dernière intervention - 1 févr. 2005 à 11:32
0
Merci
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
ndsaerith 307 Messages postés vendredi 16 janvier 2004Date d'inscription 10 mai 2017 Dernière intervention - 1 févr. 2005 à 12:20
0
Merci
En fait g reussi, il fallait juste mettre
graph_timer.chart.setsourcedata ma_plage

Voila, merci bcp bcp pour ton aide

BIz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.