modifier taille d'une grille et de ses colonnes

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

modifier taille d'une grille et de ses colonnes

Message par Yaone »

Bonjour,

Vous savez comment je pourrais modifier la taille (largeur et hauteur) d'une grille (grid) d'un formulaire ainsi que la largeur de ses colonnes par macro ?

Merci.
OOo 2.0.1 sous WinXP SP2
Brice.h
Membre OOrganisé
Membre OOrganisé
Messages : 65
Inscription : 28 mars 2006 07:56
Localisation : La Rochelle

Message par Brice.h »

Il semble qu'OOo ne prenne pas cela en compte. En effet, j'ai déjà essayé de faire ce genre de chose et l'enregistreur de macro ne reconnait même pas ce type de changement de la feuille.
Alors que l'on peut sans problème modifier la taille, la police etc du texte à l'intérieur des cellules, mais peut-être que qql un de plus callé que moi (pas bien compliqué cela dit :lol: ) aura une solution ;)
OpenOffice.org 2.0.2
Windows XP
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

Message par Yaone »

Ca m'arrangerait quand même que ça soit possible. :?
OOo 2.0.1 sous WinXP SP2
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

Message par Yaone »

Comment on fait pour modifier la position aussi ?
J'ai essayé un truc mais ça ne marche pas. :?

(j'avais cru voir une réponse de cris59 mais elle a disparu :? )
OOo 2.0.1 sous WinXP SP2
Brice.h
Membre OOrganisé
Membre OOrganisé
Messages : 65
Inscription : 28 mars 2006 07:56
Localisation : La Rochelle

Message par Brice.h »

Qu'est-ce que tu entends par 'modifier la position' ?
OpenOffice.org 2.0.2
Windows XP
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

Message par Yaone »

C'est simple, j'ai ma grille positionnée dans un certain endroit de la page (par exemple, au milieu) et je veux la bouger (par exemple, la mettre à gauche) automatiquement par macro. :roll:
OOo 2.0.1 sous WinXP SP2
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Il faut s'adresser aux propriétés du DrawPage...

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Code : Tout sélectionner

dim large as new com.sun.star.awt.Size
monDoc = thisComponent
monDPage = monDoc.DrawPage.getByIndex(0) 'attention chaque contrôle appartient à un DrawPage différent 
large.width = 14000  'mm
large.height = 18000  'mm il faut toujours indiquer largeur et hauteur du Grid
monDPage.setSize(large)


unForm = monDoc.drawPage.Forms.getByName("MainForm")
maGrille = unForm.getByName("MainForm_Grid")
uneColonne = maGrille.getByName("Nom")
uneColonne.Width = 600   'mm
Il faut s'adresser au DrawPage, idem pour la position de la grille

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

Message par Yaone »

Ok, ça, ça marche.
Mais avec les positions, ça ne marche pas.

Le code que j'utilise pour les positions :

Code : Tout sélectionner

dim posElement as New com.sun.star.awt.Point
monDPage = monDoc.drawPage.getByIndex(0)
posElement.X = 45600 ' j'ai mis des valeurs au pif
posElement.Y = 0
monDPage.setPosition(posElement)
OOo 2.0.1 sous WinXP SP2
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Regardes ton ancre et si tu n'as coché protéger ta position, dans la boite Position et Taille de la grille

j'ai essayé avec X=100 et Y=100 (il s'agit de millimètres) et ça marche ...

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

Message par Yaone »

Il n'y a rien de cocher dans les protections de position.
OOo 2.0.1 sous WinXP SP2
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Essaie en ancrant à la page ...

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/
Yaone
Membre OOrganisé
Membre OOrganisé
Messages : 94
Inscription : 04 avr. 2006 13:48

Message par Yaone »

Ca ne marche pas mieux. :(
C'est trop bizarre, pourtant le changement de taill marche. Pourquoi pas le changement de position ? :?

edit (pour éviter le double post) : c'est pour que mon formulaire qui tient dans une résolution 1024x768 puisse tenir dans une résolution de 800x600. Si vous avez un autre moyen de faire ça. :roll:
OOo 2.0.1 sous WinXP SP2
Avatar de l’utilisateur
cris59
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 482
Inscription : 20 mars 2006 15:15
Localisation : Paris

Message par cris59 »

Tu peux essayer de centrer ton grid par

position et taille / horizontal = centre et avec un ancrage à la page

Comme tu peux changer les tailles du grid facilement, tu auras ton grid à la bonne taille et toujours en milieu de page quelque soit la taille de la fenêtre...

cris59
WinXP PRO SP2 avec OOo2.2 & Vista avec OOo2.3.1
& Debian avec OOo2.2

http://www.cpserv.net/