Agnès Simonet a écrit :
nimel a écrit :
Bonjour,
Ben non décidément je dois pas être douée, rien à faire je n'arrive
pas à progresser avec l'API, malgrès Xray et les différentes doc. Dès
que je crois comprendre et que je tente une solution ça ne marche pas.
Les exemples que j'ai eu je ne les comprend pas, il y a des histoires
d'haricots (beans) que je ne trouve expliquées nulle part !
Mon but ultime :
Dans une feuille Calc, il y a une case à cocher par ligne. Chaque
ligne contient de multiples données réparties sur plusieurs colonnes.
Quand l'utilisateur coche la case, il faut que la cellule adjacente se
remplisse avec "oui" et que le texte de la ligne concernée devienne
rouge.
Je suis d'accord que je pourrais le faire rien qu'avec le contrôle de
la cac et du formatage conditionnel. Mais le soucis c'est qu'il y a
plus de 200 lignes à faire et à priori on ne peux pas faire des
copier/coller "relatifs" avec des éléments de formulaire ! J'ai donc
pensé qu'il était plus judicieux se baser sur la position du focus au
moment où on coche la case.
Bonjour,
La question que je me pose c'est comment as-tu crée tes 200 cases à
cocher ?
En tout cas, je sais que les formulaires se trouvent sur ce qu'on
appelle la page de dessin de la feuille, à laquelle on accède par DrawPage.
Donc pour accéder à une case à cocher "case1" faisant partie d'un
formulaire "form1" dans une feuille "feuille1" on doit faire ceci :
monDocument=thisComponent
lesFeuilles=monDocument.Sheets
maFeuille = lesFeuilles.getByName("feuille1")
maPageDessin = maFeuille.DrawPage
leFormulaire = maPageDessin.Forms.getByName("form1")
laCac = leFormulaire.getByName("case1")
Pour savoir si la case est cochée ou non, on regarde laCac.state qui est
FALSE ou TRUE.
En espérant que ça aide à démarrer.
Agnès S.
Bonjour Agnès et merci de ta réponse.
Les 200 cases à cocher j'envisage de les créer tout simplement par des
copier/coller en mode création de formulaire, mais justement, le but de
la macro s'est d'éviter de les reprendre une à une pour les renommer et
changer la cellule liée.
Ton code fonctionne. J'avais bien testé le DrawPage et Forms mais je
n'avais pas trouvé la bonne syntaxe. Je renonce aux explications.
Mais je commence à avoir un doute sur la faisabilité de la chose. En
effet il ne faut pas tester si la case est cochée ou pas, mais trouver
les coordonnées de la case qui a le focus, vu qu'elles auront toutes le
même nom. J'ai bien vu des méthodes qui parlent de "listening" pour le
Form, mais rien compris à compris à comment on exploite ça et si même ça
correspond à ce que je veux.
Nicole.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]