Manipulation d'objet Range dans un contrôle spreadsheet

L

lolo

Guest
Bonjour à toutes et à tous,

J'ai de gros soucis pour manipuler par le biais du code de mon programme les objets Range d'un contrôle spreadsheet (bibliothèque OWC10) que j'ai créé dans un formulaire, . Je voudrais pourtant faire des choses simples comme sélectionner une cellule et lui modifier sa couleur de fond. J'ai essayé des instructions du type :

Myuserform.myspreadsheet.worksheets(1).activate
Myuserform.myspreadsheet.worksheets(1).Range("A1").select
Selection.interior.colorindex = 19

Ces instructions sont bien exécutées mais c'est la cellule A1 de mon classeur actif (et non du contrôle spreadsheet) qui en subit les effets... le contrôle spreadsheet, lui, ne bouge pas !

Merci d'avance à tous ceux qui pourraient me donner des pistes pour résoudre ce problème.

lolo
 
Z

Zon

Guest
Salut,

Lolo en regardant l'aide VBA tu verrais que pour un controle spreadsheet il n'existe pas la proprété colorindex, on passe par color

with Myuserform.myspreadsheet.worksheets(1)
.range("A1").interior.color=rgb(255,0,0)
.range("A2").interior.color=255
'ou encore
.range("A3").interior.color="red"
end with

A+++
 
L

lolo

Guest
Merci Zon, cependant j'ai obtenu une autre indication que j'ai mise en pratique et qui marche. En fait il suffit d'omettre l'objet worksheets() pour faire en sorte que l'on puisse utiliser les propriétés d'un objet Range normal. Ainsi en faisant

mysreadsheet.worksheets(1).activate
myspreadsheet.range("A1").colorindex = 19

j'obtiens l'effet désiré. J'ai pu ensuite décliner sur d'autres propriétés ou méthode que je n'arrivai pas à faire marcher avant.

(alors que si l'on fait mysreadsheet.worksheets(1).range("A1").colorindex = 19 ça ne marche pas)

Il semble que le contrôle spreadsheet ne soit pas bien très bien documenté...
 
L

lolo

Guest
myspreadsheet est le nom de mon contrôle "spreadsheet" de OWC10 dans un formulaire. En fait l'instruction exacte que j'utilise est :

myuserform.myspreadsheet.worksheets(1).activate
myiserform.myspreadsheet.range("A1").colorindex = 19

(myuserform étant le nom de mon formulaire). Je suis sous windows98, office XP.

A+
 
S

samir

Guest
Salut,
je une PBM que se pressent comme suit.
je deux worksheets je voudrais que lorsque j'affecte a la premiere feuille dans une cellule activer le nom il sera affecté automatiquement le code dans la deuxieme feuille au cellule de meme cordonne que celle qui a pris le nom et merci
 

Statistiques des forums

Discussions
312 756
Messages
2 091 760
Membres
105 062
dernier inscrit
Ret78