Re: [prog] Column not found

2010-06-30 Par sujet Agnès Simonet

Martin Blaizot a écrit :



Le plus curieux, c'est que si je remplace :  
MaListBox.additem(Resultset_filllistbox.getString(MonIndex),i)

par :  MaListBox.additem(Resultset_filllistbox.getString(MonIndex-1),i)  ça 
marche  très bien

et par : MaListBox.additem(Resultset_filllistbox.getString(MonIndex-2),i) ça 
marche aussi.

En gros un getString (1) et un getString(2) me récupèrent tous les 2 le contenu 
de ma troisième colonne. Toutes les autres valeurs génèrent un message d'erreur.


D'avance merci pour vos suggestions.


Martin




Rebonjour Martin,

J'ai essayé de comprendre cette bizarrerie et ça m'a fait découvrir des 
choses que je ne soupçonnais pas.


Quand on fait un ResultSet avec une commande sql du type 'SELECT champ1, 
champ2 FROM laTable ORDER by champ1 le ResultSet comporte 3 colonnes et 
non pas 2 :

colonne 1 : champ 1
colonne 2 : champ 2
colonne 3 : champ 1
La dernière colonne est le doublon de la colonne sur laquelle porte le 
Order By.


C'est très curieux d'autant que ResultSet.Columns.Count indique bien 2.
A noter qu'avec un Rowset il n'y a pas cette colonne supplémentaire.

En conséquence ton getString (1) et  getString(2) récupèrent la même 
chose : getString (1)la 1ère colonne correspondant à SELECT nom et 
getString (2)la 2ème colonne correspondant à ORDER BY nom.


Si tu avais pris MonIndex = 4 (donc MonIndex-1 = 2 et MonIndex-2 = 3)tu 
aurais eu la valeur de nom avec getString (2)correspondant à ORDER BY 
nom et une erreur sur getString (3). Avec MonIndex = 5 tu aurais eu 2 
erreurs.


Agnès S.

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



Re: [prog] Column not found

2010-06-30 Par sujet Agnès Simonet

Martin Blaizot a écrit :

Bonjour à tous,


J'ai encore des soucis pour mon passage de 1.1.4 à 3.2.0. ( le précédent  
n'étant d'ailleurs toujours pas résolu )

J'ai une fonction empruntée dans le livre de Bernard Marcelly et Laurent 
Godard, première édition, servant à remplir une boîte de liste :


Private Function Fill_listBox(MaListBox as object, Table as string, MonIndex as 
integer, MonChamp as string, MonChampTri as string)



A moi de poser une question : première édition = Programmation 
OpenOffice.org de 2004 concernant OOo 1.1 ? Je l'ai et ne trouve pas la 
fonction en question.

Où bien est-ce dans une version pour OOo 2 ou OOo 3 ?

Agnès S.

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



Re: [prog] Column not found

2010-06-30 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Merci Agnès pour cette précision importante.

Juste une question: comment fais-tu pour savoir que le ResultSet a trois 
colonnes ?


J'ai essayé sur une petite base qui me sert à faire des essais:
print Resultset_maTable.getString(1)
print Resultset_maTable.getString(2)
etc.
jusqu'à voir le n° qui m'amenait une erreur.

A dire vrai, sans ta remarque finale je n'aurais jamais fait ça car 
j'aurais utilisé une boucle for i=1 to Resultset_maTable.columns.count.


Agnès S.


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



Re: [prog] ReadOnly

2010-06-21 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Bonjour Yves, merci de te pencher sur mon problème.


Mes tables sont des fichiers dbf créés dans 1.1.4 et récupérés dans 3.2 
par  Glisser-Déposer dans le navigateur ( Touche F4 ).


Je me demande dans quelle mesure mon problème ne vient pas de cette 
histoire de Clef Primaire dont mes tables sont dépourvues. En effet au 
moment de la récupération, Ooo m'a demandé si je voulais ajouter une 
clef primaire. J'ai dit non, car sinon cela va tout me décaler pour mes 
récup de données ( ResultSet.getString(mon_numero_de_champ) ).


Si c'est le cas, est-ce lié à la façon dont j'ai récupéré les tables ? 
Si je les recrée à la mano directement dans 3.2 cela va-t-il régler mon 
pb ?


D'avance merci.



Bonjour Martin,

C'est définitivement le problème. Je le sais parce que j'ai déjà fait ça 
en agissant selon le principe inculqué par ma mère : si tu ne comprends 
pas ce qu'on te propose, réponds non ! Fatale erreur en ce qui concerne 
l'importation de dbf dans base.


Il y a peut être une solution avec des sql mais je n'y connais pas grand 
chose.
Si tu recrées tes bases : tu peux le faire par glisser-déposer et bien 
sûr tu acceptes la création d'une clé primaire même si tu as déjà un 
champ qui conviendrait très bien pour ça. OOo va rajouter une clé 
primaire ID. Une fois la table crée tu pourras la modifier : choisir ton 
champ qui convient comme clé primaire et supprimer le champ ID. Tu en 
profiteras pour vérifier les formats des autres champs.


Un peu de travail en perspective donc ...

Agnès S.


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



Re: [prog] [writer]récupérer les formules dans un tableau

2010-06-21 Par sujet Agnès Simonet

Cédric Bosdonnat a écrit :

Bonjour Agnes,

Le mardi 27 avril 2010 à 19:43 +0200, Agnès Simonet a écrit :

Merci de te pencher sur mon problème.
J'avoue ne pas trop comprendre ce qu'est l'implémentation de l'API 
mais l'important c'est que toi tu saches ...


Je viens de creer une issue (n°112564) et de remonter le correction dans
le CWS cbosdo06. Ca sera normallement integre dans la 3.3.

http://qa.openoffice.org/issues/show_bug.cgi?id=112564

Encore merci pour ce rapport de bug.



Et surtout merci à toi pour la solution à venir.
Agnès S.

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



Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Et bien fait, non; ça ne marche pas. En tout cas pas deux fois de suite !

C'est à n'y rien comprendre.

En fait, avec ou sans la ligne de code d'Agnès, mes 2 premiers cadre 
apparaissent lors de la première ouverture du document, ou plutôt 
devrais-je dire d'un document. Si je relance l'appli, sans avoir quitté 
et relancé Ooo, mes cadres n'apparaissent plus, quel que soit le 
document texte ouvert par mon appli ( devis, facture .. ).


Si quelqu'un à une idée, je suis preneur.


Bien cordialement,


Martin



Bonjour,
Dans un doc ouvert si je lance la macro elle affiche bien un cadre.
Mais sans le LayerID il n'est pas sélectionnable sauf via le navigateur.
Attention, il faut mettre MonCadre1.LayerId = 1 après 
MonTexte.insertTextContent(Moncurseur, MonCadre1, false)


Mais je crois comprendre que tu ouvres un doc par macro, ce doc devant 
contenir le cadre.

On dirait que monDocument n'est pas le bon.
Est-ce que tu peux vérifier l'existence du cadre via le navigateur ?

Agnès S.

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



Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Bonjour Thibault,


Il s'agit d'une macro permettant de visualiser une facture. Le document 
texte est créé par la macro avec l'instruction suivante :


adresseDoc = private:factory/swriter
MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,_blank, 0, 
propFich)


Concernant l'insertion des cadres, je suis plus embêté pour vous 
répondre car, même quand ils apparaissent dans mon document, je n'arrive 
ni à les sélectionner ni à  atteindre  le texte placé à l'intérieur.





Peux-tu les sélectionner via le navigateur ? (au passage il y a une 
bétise dans mon mail précédent : bien sûr qu'on sait s'ils sont là ou 
non puisqu'on les voit).

Si oui as-tu accès au contenu après avoir fait DispositionAu premier plan ?
Si oui alors c'est bien un problème de layer.

Agnès S.

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



Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Bonjour Thibault,


Il s'agit d'une macro permettant de visualiser une facture. Le document 
texte est créé par la macro avec l'instruction suivante :


adresseDoc = private:factory/swriter
MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,_blank, 0, 
propFich)


Concernant l'insertion des cadres, je suis plus embêté pour vous 
répondre car, même quand ils apparaissent dans mon document, je n'arrive 
ni à les sélectionner ni à  atteindre  le texte placé à l'intérieur.




Rebonjour,

La macro ci-dessous fonctionne.
ça peut aider à chercher le problème au bon endroit.

REM  *  BASIC  *
OPTION EXPLICIT
Sub NewDocAvecInsertionCadre

dim MonDocument as object, adresseDoc as string
dim propFich()
Dim MonCadre1 as object
dim MonTexte as object, Moncurseur as object
Dim Taille1 As New com.sun.star.awt.Size

adresseDoc = private:factory/swriter
MonDocument = StarDesktop.LoadComponentFromURL(adresseDoc,_blank, 0, 
propFich)



'MonDocument = thisComponent
MonTexte = MonDocument.Text
Moncurseur = MonTexte.createTextCursor

MonCadre1 = 
MonDocument.createInstance(com.sun.star.drawing.RectangleShape)


Taille1.Width  = 8000
Taille1.Height = 3000
With MonCadre1
 .Name = le cadre parfois fantome
 .CornerRadius = 600
 .FillColor = RGB (255,255,255)
 .AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
 .VertOrient = com.sun.star.text.VertOrientation.NONE
 .VertOrientPosition = 1500
 .HoriOrient = com.sun.star.text.HoriOrientation.NONE
 .HoriOrientPosition = 8000
 .Size = Taille1
' .LayerId = 1
End With
MonTexte.insertTextContent(Moncurseur, MonCadre1, false)
MonCadre1.LayerId = 1

End Sub


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



Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Bonjour Thibault,

Thibault Vataire a écrit :



Effectivement, définir la propriété LayerId à 1 permet ensuite de sélectionner les objets à la souris. 
Petite précision toutefois : il semble que cette modification doive être faite après insertion de la forme dans le document.


ce qui semble logique puisque pour mettre quelquechose au premier plan, 
il faut que le quelquechose soit là.



Par contre les formes de dessins insérées par macro n'apparaissent pas dans le 
navigateur si elles n'ont pas été nommée. Il ne faut donc pas se fier à ce qui 
est affiché dans le navigateur pour savoir si les formes de dessin ont été 
insérées ou non.


Ah oui, j'avais oublié de préciser que j'avais nommé la forme.
Je le fais toujours parce que c'est toujours plus facile à rechercher 
quand il y a un problème.
Effectivement et curieusement OOo ne donne pas un nom par défaut aux 
formes alors qu'il le fait pour les tableaux, cadres-texte, etc.


Agnès S.


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



Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Martin Blaizot a écrit :

Re-bonjour,

Je ne passe aucun argument avec propFich. Juste le code de mon précédent 
mail.


Pour analyser le contenu de la collection de formes de dessin je fais 
comment ? par macro ?


Martin


Re-rebonjour,

Voir macro ci-dessous.
Il faut nommer les formes auparavant (MonCadre1.Name = cadre1).
Elle recense toutes les formes y compris d'éventuels diagrammes ou autres.

'-
Sub RechercherFormes
dim MonDocument as object
dim maPage As Object, uneForme As Object
dim n as integer

MonDocument = thisComponent
maPage = monDocument.DrawPage

print nombre de formes :   maPage.count

for n=0 to maPage.count-1
uneForme = maPage(n)
MonDocument.CurrentController.Select(uneForme)
print uneForme.Name

next

End sub
'-

Agnès S.

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



Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Effectivement, si je nomme mon cadre ( MonCadre1.name =  Cadre Client 
)  Cadre Client  apparaît bien dans les objets de dessin du navigateur.


Par contre ce qui est curieux c'est qu'il apparaît 5 fois !



c'est une bizarrerie que j'ai souvent constatée : quand il y a plusieurs 
formes et qu'une seule a un nom, elles apparaissent toutes avec ce nom 
dans le navigateur.
Conclusion : nommer systématiquement les formes quand on les crée par 
macro ou à la main (puisqu'OOo ne le fait pas Grrr...)


Après inspection de ton document et mise au premier plan puis renommage 
des formes je vois que tu en a effectivement 5 différentes dont une 
petite vide sous le tableau.


Agnès S.



MB_1.odt
Description: application/vnd.oasis.opendocument.text
-
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Re: [prog] Affichage d'un cadre dans document texte

2010-06-18 Par sujet Agnès Simonet

Martin Blaizot a écrit :

RE-re

merci pour cette macro. J'ai bien 6 formes dans mon document. 3 cadres 
théoriquement visibles - 2 invisibles et un logo.

Toutes ces formes apparaissent bien dans le navigateur .

ci-joint mon document tel qu'il devrait être ( à l'exception du cadre 
qui devrait être autour de mon tableau  Total  et qui se ballade 
ailleurs ).


Martin



Je crois que j'ai compris !
Dans le sans nom 2 que tu as envoyé et le MB1 que je t'ai renvoyé 
les cadres invisibles le sont parce que la ligne de pourtour est bien 
définie comme noire mais est marquée invisible.

Voir le doc joint où j'ai mis le contenu en rouge

J'espère que ça aide.
Là je pars au boulot

Agnès S.


MB_1_1.odt
Description: application/vnd.oasis.opendocument.text
-
To unsubscribe, e-mail: prog-unsubscr...@fr.openoffice.org
For additional commands, e-mail: prog-h...@fr.openoffice.org

Re: [prog] Affichage d'un cadre dans document texte

2010-06-17 Par sujet Agnès Simonet

Martin Blaizot a écrit :


Bravo et merci !

L'import à fonctionné.

concernant ma migration vers Ooo3.2.0 ( téléchargé hier sur le site ), 
je n'arrive toujours pas à voir mes cadres. Mes variables étaient bien 
entendu déclarées, sinon j'aurais un message d'erreur, mais là, rien. 
Mon document ( une facture ) s'ouvre normalement mais sans les cadres ( 
il y en a trois en tout ).


Donc, à priori, pas d'erreur de codage ( puisque ça marche chez vous ). 
Peut-être une config d'Ooo ?

Pour info les cadres ne s'affichent pas non plus à l'impression.

En tout cas, encore merci pour votre aide.


Martin



Bonsoir Martin,

ça me rappelle un problème que j'avais eu dans le passé
http://fr.openoffice.org/servlets/ReadMsg?listName=progmsgNo=995

Tente un MonCadre1.LayerId = 1

Agnès S.

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



[prog] macros base OOo v3.2

2010-06-17 Par sujet Agnès Simonet

Bonjour,

Je suis passée à OOo v3.2 et lorsque j'ouvre une ancienne base de donnée 
on me propose une migration des macros. Pas de problème et jusque là 
elles fonctionnent parfaitement.


Auparavant les macros étaient associées aux documents Formulaires ou 
Requètes. Après migration elles sont associées au fichier de la base 
dans des bibliothèques du style Form_nom du doc formulaire_Standard.


Mais je suis surprise : quand la macro contient une ligne du type
leForm = thisComponent.DrawPage.Forms.getByName(nomFormulaire) comment 
OOo sait-il quel est thisComponent ? Par le nom de la bibliothèque ?


Par contre si je crée une nouvelle bdd avec des macros et que je les 
mets dans la bibliothèque standard du document, alors là c'est à moi de 
lui dire de quel doc-formulaire il s'agit :
leFormComponent 
=ThisDatabaseDocument.FormDocuments.getByName(nomDocForm).Component


Si j'avais la réponse à la première question, je pourrais peut-être 
m'éviter cette étape.


Merci de m'éclairer.
Agnès S.

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



Re: [prog] Largeur des colonnes ds tableau de texte

2010-05-13 Par sujet Agnès Simonet

nimel a écrit :


Yo et re-yo,

J'en suis aux formatages finaux (YESS!)
Comment fixer la largeur des colonnes ?
J'ai bien lu qu'il n'y avait pas de propriétés de formatage  pour les 
colonnes. J'ai donc essayé la méthode par zone de cellules mais je ne 
sais pas comment l'écrire, Width n'est pas connu.


' ** largeur des colonnes *
CelCurseur = MonTab.createCursorByCellName(A1)
CelCurseur.goDown(5, true)
CelCurseur.BackColor = RGB(255,0,0) 'juste pour vérifier
CelCurseur.Width = 6500

Nicole.



Bonjour,

Je crois qu'on ne peut malheureusement pas le faire directement.Il faut 
accéder aux séparateurs via MonTab.TableColumnSeparator et déplacer les 
séparateurs.


Sub LargeurColonne
Dim MonDocument As Object, MonTab As Object
Dim LesSeparateurs As Variant
Dim LargeurTab As double

MonDocument = ThisComponent
MonTab = MonDocument.TextTables.getByName (Tableau1)'à adapter
LesSeparateurs = MonTab.TableColumnSeparators

'récupération de la largeur du tableau
LargeurTab = MonTab.TableColumnRelativeSum

'modification de la largeur de la colonne 0
'.position : par rapport au côté gauche du tableau
LesSeparateurs(0).Position = LargeurTab*0.1 'par exemple
'mise à jour des séparateurs
MonTab.TableColumnSeparators = LesSeparateurs

End Sub

Il faut faire attention car si par erreur tu positionnes un séparateur 
avant le précédent, la colonne disparait. Il faut donc rajouter des tests.


Agnès S.

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



Re: [prog] Insérer une formule de math dans un document writer

2010-05-07 Par sujet Agnès Simonet

Sébastien Deshayes a écrit :


Bonjour,

j'aimerais savoir s'il existe une macro pour insérer une formule math 
dans un document writer en utilisant open basic.


J'ai cherché dans les guides, mais j'ai seulement vu comment insérer des 
tableaux, des cadres, des images, des dessins, des formes, et jamais des 
formules de maths.


Merci d'avance de répondre à ma question.



Bonsoir,
Dans ma bible (Programmation Openoffice.org) il est dit qu'on ne peut 
pas créer des embeddedObjects par macro.

C'était à l'époque d'OOo v1. Il y a peut-être eu une évolution depuis.

Agnès S.

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



Re: [prog] Insérer une formule de math dans un document writer

2010-05-07 Par sujet Agnès Simonet

Agnès Simonet a écrit :


Sébastien Deshayes a écrit :


Bonjour,

j'aimerais savoir s'il existe une macro pour insérer une formule math 
dans un document writer en utilisant open basic.


J'ai cherché dans les guides, mais j'ai seulement vu comment insérer 
des tableaux, des cadres, des images, des dessins, des formes, et 
jamais des formules de maths.


Merci d'avance de répondre à ma question.



Bonsoir,
Dans ma bible (Programmation Openoffice.org) il est dit qu'on ne peut 
pas créer des embeddedObjects par macro.

C'était à l'époque d'OOo v1. Il y a peut-être eu une évolution depuis.

Agnès S.



Rebonsoir,

j'ai trouvé ça qui semble fonctionner :

Sub insererEquation

CurseurVisible = ThisComponent.getCurrentController().getViewCursor()
MonCurseur=CurseurVisible.Text.createTextCursorByRange(CurseurVisible)
Formule=ThisComponent.CreateInstance(com.sun.star.text.TextEmbeddedObject)
Formule.CLSID=078B7ABA-54FC-457F-8551-6147e776a997
Formule.AnchorType=com.sun.star.text.TextContentAnchorType.AS_CHARACTER
ThisComponent.getCurrentController().select(MonCurseur)
MonCurseur.Text.insertTextContent(MonCurseur, Formule, true)
Formule.EmbeddedObject.formula={1}over{2}

End Sub

En espérant que ça aide.
Agnès S.

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



Re: [prog] Re: Calc et case à cocher pour une nulle

2010-05-04 Par sujet Agnès Simonet

nimel a écrit :


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 Agnès et merci de ta réponse.


J'aime bien les petits problèmes comme ça, donc je poursuis mes recherches.

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.


Tu peut les renommer par macro :
' Renommer les controles
'recupérer les controles
formEnum = leFormulaire.createEnumeration
indicenom = 1
while formEnum.HasMoreElements
leCtrl=formEnum.NextElement
print nom d'origine :  leCtrl.Name
'changer leur nom
indicenom = indicenom  +1
nomCtrl = caseLTrim( Str(indicenom) )
leCtrl.Name= nomCtrl
print nouveau nom :   leCtrl.Name
wend

Si la première case à cocher est à la ligne 5 par exemple, il pourrait 
être astucieux d'initialiser indicenom à 4 comme ça le nom reflètera le 
numéro de ligne.




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. 


Maintenant qu'on a des noms différents, on peut trouver la ligne comme ça :

' Chercher le n° de ligne du controle case3 de la page de dessin
for i = 0 to maPageDessin.count-1
if maPageDessin.getbyIndex(i).control.name = case3 then
print ligne :  
maPageDessin.getbyIndex(i).anchor.cellAddress.Row
exit for
end if
next i

En fait il ne reste plus qu'à savoir trouver quel est la case à cocher 
qui a déclenché la macro. Je cherche.


Agnès S.

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



Re: [prog] Re: Calc et case à cocher pour une nulle

2010-05-04 Par sujet Agnès Simonet

Laurent Godard a écrit :


Bonjour

En fait il ne reste plus qu'à savoir trouver quel est la case à cocher 
qui a déclenché la macro. Je cherche.


tu peux ecrire la macro comme

sub macroDeclenche(event)

end sub

l'argument event contient l'evenement declencheur
event.source contient l'objet appelant

Bon courage

laurent



Merci Laurent, c'est ce que je ne savais pas.
Agnès S.

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



Re: [prog] Re: Calc et case à cocher pour une nulle

2010-05-04 Par sujet Agnès Simonet

nimel a écrit :






 STOP - STOP - STOP - STOP - STOP - STOP - STOP - STOP - STOP


Désolée, mais c'est fait, grâce à l'aide de Laurent Godard.
http://agnooo.free.fr//pluxml/data/documents/pb/nimel/calc_cac_1.ods


Merci beaucoup beaucoup et même très beaucoup Agnès mais je ne demandais 
pas à ce qu'on me fasse le script ! Je cherchais surtout à comprendre ce 
que je fais et là je comprend pas tout.


Pour être honnête moi aussi je ne comprends pas tout !
Mais c'est en faisant ou en étudiant des macros que je progresse dans la 
compréhension.


Du moins ça me demanderait trop de dispo pour creuser la chose, vu 
l'hermétisme de l'API, même avec Xray. Si à chaque foi que je cherche un 
objet il faut que je demande sur le forum je suis pas arrivée !!! 


Il ne faut jamais hésiter à demander sur le forum, même pour les choses 
les plus triviales. Il est là pour ça !


J'abandonne cette idée vu que pour un truc que je pensais simple au 
départ ça commence à ressembler à une usine à gaz. Je fais ça 
bénévolement pour une asso et je ne peux pas y passer trop de temps, 
surtout qu'il n'y a pas que ça à macrotiser (j'ai peur !). 
L'utilisateur voulait des cases à cocher, et bien tant pis, il aura des 
0 et des 1 à saisir.


Je comprends. Mais en fait ton problème n'était pas particulièrement 
simple à réaliser, en tout cas pour un débutant.


Pour la suite je vais essayer de faire avec uniquement ce qu'il y a de 
décrit dans le tuto de Bernard Marcelly, je n'ai malheureusement pas les 
moyens d'acheter le bouquin.


Tu peux utiliser le document d'Andrew Pitonyak traduit en français :
http://fr.openoffice.org/Documentation/Guides/Andrew5.pdf
C'est un peu pagaillou mais ça te donne des techniques même si tu ne 
comprends pas tout.


Agnès S.





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



Re: [prog] Calc et case à cocher pour une nulle

2010-05-03 Par sujet Agnès Simonet

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.


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



[prog] [writer]récupérer les formules dans un tableau

2010-04-27 Par sujet Agnès Simonet

Bonjour,

Je cherche à récupérer les formules d'un document entier ou d'une 
sélection, pour pouvoir les modifier ensuite.

Les formules sont présentes dans le plain-texte et dans un tableau.

Pour le document je récupère comme ceci et tout va bien :
LeDocument=Thiscomponent
LesObjetsEmbedded=leDocument.getEmbeddedObjects
for i=0 to LesObjetsEmbedded.count-1
LobjetEmbedded=LesObjetsEmbedded(i)
BoulotPourObjetUltime (LobjetEmbedded)
next i  

Pour la sélection je procède ainsi :
LaSelection=ThisComponent.getCurrentSelection()
LesObjetsSel=LaSelection.getbyIndex(0)
LesObjetsTextContent=LesObjetsSel.createContentEnumeration(com.sun.star.text.TextContent) 


while LesObjetsTextContent.HasMoreElements
LobjetTextContent=LesObjetsTextContent.NextElement
BoulotPourObjetUltime (LobjetTextContent)
wend

Le sous-programme BoulotPourObjetUltime :
Sub BoulotPourObjetUltime (Lobjet As Object)
if Lobjet.getImplementationName=SwXTextEmbeddedObject then
	if 
Lobjet.embeddedObject.getImplementationName=com.sun.star.comp.math.FormulaDocument 
then

'Lobjet est une formule
print formule détectée :   Lobjet.Name
endif
endif
End Sub

Dans le cas de la sélection, les formules ancrées comme caractère dans 
le tableau ne sont pas vues.

J'avoue que je ne comprends pas pourquoi.
Quelqu'un aurait-il une idée et -le rève- une solution ?

Le fichier exemple est disponible ici :
http://agnooo.free.fr/pluxml/data/documents/pb/styles_formules/pb_formules_dans_tableau.odt

Bonne journée
Agnès S.

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



Re: [prog] [writer]récupérer les formules dans un tableau

2010-04-27 Par sujet Agnès Simonet

Cédric Bosdonnat a écrit :

Bonjour Agnes,

On Tue, 2010-04-27 at 12:05 +0200, Agnès Simonet wrote:
Dans le cas de la sélection, les formules ancrées comme caractère dans 
le tableau ne sont pas vues.

J'avoue que je ne comprends pas pourquoi.
Quelqu'un aurait-il une idée et -le rève- une solution ?


Ca sent le probleme d'implementation de l'API a plein nez... Je vais
regarder ca assez rapidement et eventuellement le patcher.

Cordialement,

--
Cedric



Bonsoir Cédric,
Merci de te pencher sur mon problème.
J'avoue ne pas trop comprendre ce qu'est l'implémentation de l'API 
mais l'important c'est que toi tu saches ...

Agnès S

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



Re: [prog] [writer]récupérer les for mules dans un tableau

2010-04-27 Par sujet Agnès Simonet

Thibault Vataire a écrit :

Bonjour,

En attendant le resultat des investigations de Cédric, voici une solution de contournement : 



Bonjour Thibault,
Je l'avais envisagée mais je rechignais.
Et toi tu l'as fait pour moi. Merci beaucoup.

Agnès S.

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



[prog] erreur au lancement d'un dialogue - OOo 3.0

2009-01-05 Par sujet Agnès Simonet

Bonjour,

Décidemment le passage à OOO v3.0 me crée des problèmes.

J'ai une macro qui utilise une boite de dialogue contenue dans le même 
module et qui commence banalement par :

Dim bibli As Object
Dim monDialogue As Object

bibli = DialogLibraries.GetByName(Standard)
monDialogue = bibli.GetByName(Dialog1)
Dlg = CreateUnoDialog(monDialogue)

Pas de problème avec OOo v1 ou v2.
Avec OOo v3, au premier lancement une fenêtre d'erreur s'ouvre :
Une exception s'est produite.
Type com.sun.star.lang.WrappedTargetException
Message:
TargetException :
com.sun.star.script.LibraryNotLoadedException
et la ligne monDialogue = bibli.GetByName(Dialog1) est surlignée.

Je dis zut et  relance la macro. Plus de problème.
Kesako ?

Agnès S.

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



Re: [prog] erreur au lancement d'un dialogue - OOo 3.0

2009-01-05 Par sujet Agnès Simonet

Bernard Marcelly a écrit :


Bonsoir,
Ce n'est pas spécifique à la v3, ton problème existait avant.
Il faut charger la bibliothèque de dialogue, *même* si c'est la
bibliothèque Standard.

DialogLibraries.loadLibrary(Standard)
bibli = DialogLibraries.GetByName(Standard)
etc...

   Bernard



Merci beaucoup, ça marche et c'est l'essentiel.
Mais j'aimerais comprendre.
Dans ma bible Programmation Openoffice.org il est écrit l'accès à une 
boite de dialogue dans une autre bibliothèque que le programme qui 
l'utilise nécessite de charger auparavant cette bibliothèque.

Mais ici tout est dans la même bibliothèque.
http://agnooo.free.fr/OOo/Pb_OOo/pb_dialog.jpg


Selon les circonstances le dialogue peut avoir été chargé, par exemple
en ouvrant l'EDI, c'est pourquoi ça marche des fois et ça marche pas
d'autres fois.
J'ai pensé à ça mais j'ai tout fermé avant de tester avec OOo v2 et v1 
sans ouvrir l'EDI et je n'ai pas le problème avec ces versions.


L'important reste d'avoir une solution. Merci encore.

Agnès S.

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



Re: [prog] erreur au lancement d'un dialogue - OOo 3.0

2009-01-05 Par sujet Agnès Simonet

Didier Dorange-Pattoret a écrit :


Bonsoir Agnès,

Agnès Simonet wrote:

Bonjour,

Décidemment le passage à OOO v3.0 me crée des problèmes.

J'ai une macro qui utilise une boite de dialogue contenue dans le même 
module et qui commence banalement par :

Dim bibli As Object
Dim monDialogue As Object

bibli = DialogLibraries.GetByName(Standard)

DialogLibraries.LoadLibrary(a_Style_Formules)

rem Pour faire charger les dialogues.

bibli = DialogLibraries.GetByName(a_Style_Formules)

rem Ta boîte de dialogu n'est pas dans la bibliothèque standard.

monDialogue = bibli.GetByName(Dialog1)
Dlg = CreateUnoDialog(monDialogue)


Merci.
Pourtant ma  boite de dialogue est bien dans la bibliothèque Standard du 
document odt. (j'ai copié la macro et la boite de dialogue qui était 
dans Mes Macrosa_Style_Formules dans ce document).
D'ailleurs le même problème se produit si je lance la macro de Mes 
Macrosa_Style_Formules.
Mais l'important c'est que maintenant ça marche même si j'aimerais bien 
comprendre.


Agnès S.



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



Re: [prog] macro Bordure_Selection

2009-01-05 Par sujet Agnès Simonet

Philippe Lapage a écrit :


Bonsoir,

votre problème de rafraîchissement d'écran ressemble
à ceci :

http://www.openoffice.org/issues/show_bug.cgi?id=83828
le problème est sur calc, mais le fichier work-around proposée sur calc 
résout en provoquant le rafraîchissement:


voir le fichier attaché en work-around.

Merci.
Mais je ne suis pas sûre d'avoir tout compris.
Est-ce que la solution était dans le monComponent.invalidate(16) ?


Espérant que cela puisse vous aider.
C'est en partie grâce à vous que j'ai commencé à plonger dans l'api. ;)
ça fait plaisir. Moi je m'y replonge après une longue interruption et 
les automatismes reviennent difficilement. C'est là que je ne regrette 
pas d'avoir abondamment commenté mes macros.

Meilleurs veux

Philippe



Bonne année.
Agnès S.


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



Re: [prog] erreur au lancement d'un dialogue - OOo 3.0

2009-01-05 Par sujet Agnès Simonet

yves dutrieux a écrit :

Bonsoir,

Le 5 janvier 2009 19:50, Agnès Simonet agnes.simo...@laposte.net a écrit :


Bonjour,

Décidemment le passage à OOO v3.0 me crée des problèmes.

J'ai une macro qui utilise une boite de dialogue contenue dans le même
module et qui commence banalement par :
Dim bibli As Object
Dim monDialogue As Object

bibli = DialogLibraries.GetByName(Standard)
monDialogue = bibli.GetByName(Dialog1)
Dlg = CreateUnoDialog(monDialogue)

Pas de problème avec OOo v1 ou v2.
Avec OOo v3, au premier lancement une fenêtre d'erreur s'ouvre :
Une exception s'est produite.
Type com.sun.star.lang.WrappedTargetException
Message:
TargetException :
com.sun.star.script.LibraryNotLoadedException
et la ligne monDialogue = bibli.GetByName(Dialog1) est surlignée.

Je dis zut et  relance la macro. Plus de problème.
Kesako ?


Je m'y connais pas trop en programmation OOo, mais d'après le message
d'erreur,
j'aurais dit qu'il manque la librairie dans laquelle se trouve ton
'dialog1', il se trouve peut-être pas dans la librairie 'Standard' mais
ailleurs ?

Yves



Et pourtant :
http://agnooo.free.fr/OOo/Pb_OOo/pb_dialog.jpg

Mais j'ai la solution c'est l'essentiel.
Merci

Agnès S.


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



[prog] macro Bordure_Selection

2009-01-04 Par sujet Agnès Simonet

Bonjour et bonne année.

Il y a quelques années j'avais commis une petite macro qui permettait 
d'encadrer une sélection dans un texte.

http://fr.openoffice.org/Documentation/Macros/bordure_selection_v1.sxw

Je viens de passer à OOo v3.0 et la macro me pose un petit souci :
http://agnooo.free.fr/OOo/Pb_OOo/tests_macro_bordure_selection.jpg

Je pense qu'il suffirait de rafraichir le document pour que tout 
fonctionne mais je ne sais pas faire.

Quelqu'un peut-il m'aider ?

Agnès S.

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



Re: [prog] Test embeddedObjects.getByName(elementNames(i)).Model empty

2009-01-04 Par sujet Agnès Simonet

Bernard Siaud alias Troumad a écrit :


Bonjour

Pour le How-To de math, j'aurais besoin de corriger une macro données 
par Laurent BP.


Bonjour,

Je pense qu'il s'agit de la macro Taille_Formule.
Elle fonctionne parfaitement bien même sous OOo 3.0.
Seul petit hic : quand elle traite une plage d'équations, elle ne voit 
pas les équations présentes dans un tableau ou un cadre, alors qu'elle 
n'a pas ce problème quand elle traite toutes les équations du document.


Si ça t'intéresse je suis partie de la macro de Laurent Godard pour 
faire quelquechose qui permet de modifier la taille, la police, les 
couleurs etc.

http://agnooo.free.fr/OOo/Macros_OOo/a_Style_Formules-1.1.0.oxt
C'est tout chaud et encore à tester.

Agnès S.


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



Re: [prog] Boite de dialogue

2005-07-07 Par sujet Agnès Simonet

Bonjour,

La lumière des Elfes a écrit :


çà doit etre sous mon nez mais j'y arrive pas !!!

voila un petit résumé de ma MACRO

sub essaie
Dim MonDocument As Object, LesFeuilles As Object, UneFeuille As Object, 
MaCellule As Object

Dim oBoiteDialogue As Object,ExitOk AS integer
Dim ChampDirection AS Object
Dim Direction As String

monDocument = thisComponent
LesFeuilles = MonDocument.Sheets
UneFeuille = LesFeuilles.getByName(Feuille1)
MonDocument.currentController.activeSheet = uneFeuille

exitOK = com.sun.star.ui.dialogs.ExecutableDialogResults.OK
DialogLibraries.LoadLibrary(Dialogue)
oBoiteDialogue = CreateUnoDialog( DialogLibraries.Dialogue.Dialog1)
if oBoiteDialogue.Execute = exitOK then
' récupération des données

ChampDirection=oBoiteDialogue.GetControl(TextField1)
Direction=ChampDirection.Text
MaCellule=UneFeuille.getCellRangeByName(A1)
MaCellule.string= (direction)

  end if
End Sub

donc mon but est, comme tu l'a compris que dans le champs TextField1, 
apparaisse ce qui se trouve dans la cellule A1 de ma feuille a chaque lancement 
de la macro




Je mets mon grain de sel.
Il me semble que ta macro tente de faire le contraire de ce que tu 
souhaites : elle récupère le contenu de la boite de dialogue 
(Direction=ChampDirection.Text) et l'affecte à la cellule, erreur de 
syntaxe mise à part (MaCellule.string= Direction).


Pour écrire dans un controle , il faut procéder ainsi :
leControle.Model.Text = mon texte

Essaie ça :

'après création du dialogue
'
'récupère la valeur de la cellule A1
MaCellule=UneFeuille.getCellRangeByName(A1)
DirectionTexte = MaCellule.string

'remplit le champ de la boite de dialogue
ChampDirection=oBoiteDialogue.GetControl(TextField1)
ChampDirection.Model.Text = DirectionTexte

if oBoiteDialogue.Execute = exitOK then
' récupération des données
'etc.

Agnès S.

etc

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [prog] Exporter une image non affichée

2005-05-17 Par sujet Agnès Simonet
Bonjour,
LE LOUARNE Serge a écrit :
Bernard Marcelly a écrit :
Le 2005-05-15 11:59, LE LOUARNE Serge a écrit :
[...]
Cela ne redimensionnera pas l'image.
[...]
Je ne pense pas que ce soit possible de redimensionner avec OOo. C'est 
une manipulation complexe de l'image, si on cherche une bonne qualité.

Bonjour,
Effectivement, ca ne marche pas :(
J'ai trouvé un outil bien pratique pour ca que j'appelle dans la macro : 
convert (de ImageMagick) et qui travaille directement en relatif. Après 
quelques tatonnements je devrais pouvoir arriver à trouver la bonne 
valeur de réduction.

Il me reste à modifier le HTMl dans la macro et ca devrait pouvoir aller.

Je suis peut-être complétement à côté de la plaque, mais sur le site 
d'OOo http://fr.openoffice.org/Documentation/Outils/index.html, il y a 
un outil ImagerieOOo qui permet de réduire le poids des images au 
format Jpeg, gif, png. Mais la doc est succinte et je n'ai jamais 
réussi à le faire fonctionner.

Agnès S
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [prog] enregistrement de macro et interprétation ?

2005-04-10 Par sujet Agnès Simonet
Bonjour,
Bernard Marcelly a écrit :
William Gotti à écrit :


Avec l'argument .uno:Print, je pensai retrouver l'aide 
correspondante dans l'API sur com/sun/star/uno/
or ce n'est pas le cas ! (/com/sun/star/view/)

Est-il  possible de retrouver la propriété/méthode dans l'API à partir 
de cet argument ?

Non. Les arguments des commandes de dispatch ne sont pas documentés.
   Bernard
Il y a le document slots.sxw téléchargeable ici :
http://api.openoffice.org/servlets/ProjectDocumentList
qui donne pas mal d'infos que je ne comprends pas, parmi lesquels le nom 
 de l'Url (uno:truc) et dans la dernière colonne (attributes) les 
arguments mais cela semble incomplet parce que on trouve par exemple 
copies pour Print mais pas collate.

Agnès S.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [prog] OOo Basic ne veut pas de mon a !

2005-03-19 Par sujet Agnès Simonet
Bonjour troumad,
Troumad a écrit :
Vous pouvez récupérer mon fichier de conjugaison incriminé sur 
http://troumad.free.fr/Linux/verbes.sxc

Merci pour ce travail, ça me permettra de l'avoir sur mon portable sans 
être obligé d'aller sur internet pour vérifier les conjugaisons.

Une question : es-tu sûr que absoudre donne absouse au participe passé 
féminin. Je crois que c'est comme pour dissoudre (je suis prof de chimie 
pas curé ;-) ) : absous au masculin, absoute au féminin.
Je n'ai pas de Bécherel mais cela est confirmé ici :
http://www.capeutservir.com/verbes/

Est-ce que tu comptes le transformer en exercice interactif ? C'est le 
genre d'outil qui ferait passer les instits (pardon, professeurs 
d'écoles) illico à OOo.

Agnès S.

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [prog] function simple dans Calc

2005-03-14 Par sujet Agnès Simonet
Bonjour,
Vincent Mollimard a écrit :
Bonjour,
Je reformule ma question déjà postée maladroitement sur la liste user.
Je veux pouvoir tester dans une formule si une cellule est transparente.
Mon but est de coder une fonction booléenne dont la syntaxe soit 
analogue à celle de ESTVIDE par exemple.

Voilà l'objet du délit :
Function EstTransparent( référence cellule As le type qui va bien) 
As Boolean
EstTransparent 
=ThisComponent.currentController.activeSheet.getCellRangeByName(référence 
cellule).IsCellBackgroundTransparent
End Function

comment référencer la cellule dans cette macro ?. L'écriture proposée 
dans la liste user par [EMAIL PROTECTED] dans la liste user 
fonctionne, mais il doit quand même être possible d'éviter  une cellule 
indirecte !

Je viens de relire ton message et je comprends mieux ce que tu veux faire :
1- avoir une fonction Estransparent(ref de la cellule) dans une
bibliothèque de macros.
2- utiliser cette fonction dans Calc, sans macro.
Le problème est, me semble-t-il, que les fonctions que l'on utilise dans
Calc travaillent avec la valeur de la cellule pointée alors que ta 
fonction EstTransparent n'utilise que le nom de la cellule. 
EstTransparent n'est sans doute pas une fonction au sens où l'entend Calc.

Il faudrait pouvoir faire l'inverse d'un formatage conditionnel : si une
cellule a tel format, alors. Mais je ne sais pas faire.
Tu auras sans doute des avis plus éclairés que le mien sur cette liste.
Bonne chance.
Agnès S.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: [prog] création dynamique de nom de variables ?

2005-02-17 Par sujet Agnès Simonet
Bonjour Laurent,
Laurent Godard a écrit :
Bonjour Agnes
Comment dire que si le tableau a 1 élément il me faut :
dim LaForme1 As Object
mais que s'il en a 3, il me faut :
dim LaForme1 As Object
dim LaForme2 As Object
dim LaForme3 As Object ?
Je ne suis pas sûre d'être très claire.
Je pense que tu cherches à redimensionner dynamiquement un tableau
C'est possible
exemple:
dim TableauForme() as object
n=4
redim TableauForme(0 to n) as object
Ça je sais faire, j'ai un bon bouquin ;-)
Et je l'ai fait lors du remplissage du tableau de données.
Attention, lors du redim, le tableau est reinitialisé
si tu veux conserver le contenu tout en redimensionnant
redim preserve Tableauforme(0 to n) as object
mais attention, c'est tres tres consomatteur et ralentit beaucoup 
l'execution

Je l'ai constaté.
Est-ce plus rentable de surdimensionner le tableau au départ, quitte à 
faire des tests pour déterminer le dernier élément non null ?


Ceci est decrit page 72 et suivantes du livre
On doit avoir le même bouquin :-)
J'en profite pour une petite question : que signifie permet de 
redimensionner un tableau en cours d'éxecution du programme, à condition 
que le tableau soit *interne à une routine*.

J'espeer ne pas avoir repondu à coté de la question
Un peu quand même ce qui prouve bien que je ne suis pas claire.
J'essaie de préciser ce que je veux :
données dans un tableau DonneesToutesFormes()à x éléments --- création 
de 5 objets Forme1, Forme2 Formex. Il me faut avoir préalablement 
déclaré Forme1 As object, Forme 2 As Object Formex As object. Le 
problème est que je ne connaîs pas x quand j'écris le code.

Je sais que je pourrais  stocker les formes dans un tableau d'objets 
MesFormes() à x éléments, que je redimensionnerai avec préservation, le 
moment voulu. Je pourrai alors récupérer la forme n°x par MesFormes(x) 
mais ça ne fait que déplacer le problème. J'ai besoin d'une variable 
objet par forme créée. Je ne les veux pas dans un tableau.

Pour l'instant je m'y prends comme ceci :
* je crée une tripotée de variable objets (50 par exemple) :
Dim Forme1 As Object, Forme2 As Object  jusqu'à Forme50 As object.
* j'écris 50 lignes de création de forme en utilisant les données
Forme1 = CreerForme (DonneesToutesFormes(0))
où CreerForme est une fonction retournant un objet Forme.
Forme2 = CreerForme (DonneesToutesFormes(1))
etc
* Quand Basic gémit, c'est que j'ai atteint la fin du tableau.
Si j'arrive à traiter cette erreur, je m'en sortirai mais
1- j'ai le sentiment de gâcher en déclarant des variables inutiles.
2- les macros c'est à priori pour éviter les taches répétitives, non ?
Agnès S.
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]