Bonjour,
Il y a des moments où on se dit qu'il faut vraiment être militant pour s'entêter avec OOo. 3 jours passés à manger le manuel officiel, quelques tutos basiques qui dates du siècle dernier et la référence API (complètement incompréhensible) et je n'arrive tjrs pas à faire un truc simple. Bon d'accord, je ne suis pas une kador de la programmation. Alors si une bonne âme voulait bien me mettre sur la bonne voie.

Au final mon projet doit être ça : dans un bête tableau genre base de données, il y a une case à cocher au début de chaque ligne. Quand l'utilisateur coche une case, la valeur "1" doit s'inscrire dans la cellule voisine à droite et le texte de toute la ligne concernée doit se mettre en rouge.

J'ai donc commencé à faire la partie macro, que pour le moment je lance "à la main". Je n'ai pas encore trouvé comment détecter la position de la ligne active en fonction de la case à cocher, mais j'ai trouvé pour la cellule encourt. Ça donne ça, qui évidement ne fonctionne pas :

Option Explicit
Sub Main
Dim Docum As Object
Dim Feuille As Object
Dim CelSel As Object
Dim TextFormat As Object
Docum = createUnoService("com.sun.star.sheet.SpreadsheetDocument")
TextFormat = createUnoService("com.sun.star.style.CharacterProperties")
Docum = StarDesktop.CurrentComponent
TextFormat = StarDesktop.CurrentComponent
Feuille = Docum.Sheets.getByName("devis")
CelSel = ThisComponent.getCurrentSelection
CelSel.String = "1"
CelSel.TextFormat.CharColor = RGB(255,0,0)
End Sub

C'est ok jusqu'à l'avant dernière ligne et là j'ai le message "Propriété ou Méthode non trouvé : TextFormat". [Grrrr]

Nicole de Bordeaux.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@fr.openoffice.org
For additional commands, e-mail: users-h...@fr.openoffice.org

Répondre à