Manipulation d'objet Range dans un contrôle spreadsheet

  • Initiateur de la discussion Initiateur de la discussion lolo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+++
 
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é...
 
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+
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
2
Affichages
1 K
L
L
Réponses
0
Affichages
787
L
Retour