Erreur d'exécution générée par un contrôle "spreadsheet"

L

lolo

Guest
Bonjour à tous,

Dans une instruction de programme, je crée un contrôle "spreadsheet" de la bibliothèque OWC10 dans la première page d'un contrôle multipage, puis je souhaite me déplacer à la dernière cellule remplie de la première ligne de ce contrôle spreadsheet. Pour cela j'utilise les instructions classiques que l'on applique à un objet Workbook. Le problème c'est que ça ne marche pas... y-a-t-il des différences de comportement entre un contrôle "spreasheet" et un objet "Workbook" ?

Voila le code que j'ai entré :

Dim Myspreadsheet as control
Set MySpreadsheet = Multipage1.pages(0).controls.add _
("OWC10.spreadsheet.10", Nom, True)
Myspreadsheet.sheets(1).range("A1").End(xlright).select

à l'exécution ça plante avec une erreur '1004' qui n'est pas référencée.

Merci d'avance pour vos conseils/réponses

lolo
 
Z

Zon

Guest
Salut,

Lolo toujours avec ta spreadsheet, il faut savoir que tous les propriétés VBA d'une feuille de calcul ne sont pas toujours applicables pour une spreadsheet (d'ailleurs je la trouve peu maléable), comme la propriété End, Dans ton exemple, je ne trouve pas l'intérêt puisque tu viens de créer ton objet, donc il ya rien de dedans.

A+++
 
L

lolo

Guest
OK, merci Zon,

L'intérêt : c'est vrai que dans mon exemple il n'y a rien dans la spreadsheet mais c'était pour l'exemple... dans la réalité il y aura des choses dans la speadsheet.

Est-ce que tu connais un contrôle autre que spreadsheet qui permettrait d'entrer des formules dans des cellules et de formater les cellules (bordures, format, etc..) ?

J'ai bien essayé ListBox, mais c'est vraiment pas souple...
 
Z

Zon

Guest
Re,

Il ya d'autres controles sur le Web, mais il faut la licence, pour les bordures voici ce que dit l'aide: il faut créer des constantes comme pour un controle chartspace.

"Cet exemple montre comment ajouter une bordure verte d'épaisseur moyenne à chaque cellule de la plage B5:C10 de la feuille de calcul.

Set c = Spreadsheet1.Constants
Spreadsheet1.Range("b5:c10").Borders.Weight = c.owcLineWeightMedium
Spreadsheet1.Range("b5:c10").Borders.Color = "green"


Au fait pourquoi diable ne pas travailler sur une feuille de calcul classique ?

A+++
 
L

lolo

Guest
J'utiliserai volontiers une feuille de calcul classique mais je ne sais pas comment attacher une feuille à un formulaire, par exemple avoir une fenêtre contenant une feuille classique attachée à un contrôle multipage d'un formulaire ? ( ce que j'arrive tout à fait à faire avec un spreadsheet qui est considéré comme un contrôle) si tu as la réponse je me prosterne !
 
L

lolo

Guest
Re: Erreur d'exécution générée par un contrôle

Ce que je cherche à faire c'est afficher dans un contrôle multipage une feuille excel dans laquelle l'utilisateur pourra saisir des données et/ou des formules. j'ai joint un exemple du formulaire que je cherche à construire, pour mieux illustrer.

Si tu as une soluce, merci d'avance
 

Pièces jointes

  • formulaire.zip
    33.2 KB · Affichages: 32
  • formulaire.zip
    33.2 KB · Affichages: 31
  • formulaire.zip
    33.2 KB · Affichages: 36

Statistiques des forums

Discussions
312 328
Messages
2 087 316
Membres
103 515
dernier inscrit
Cherbil12345