[prog] syntaxe

2009-09-27 Thread claude claude

Bonjour,

 

je débute avec les macros. Après en avoir enregistré plusieurs, je vois bien 
que toute commande est une fonction du style

dispatcher.executeDispatch(document, ".uno:DefineName", "", 0, Array())

où :

le premier paramètre est le document

le deuxième la commande

 

Mais je n'arrive pas à trouver dans la doc la liste des commandes et les 
arguments à passer.

 

En effet dans le cas de l'exemple donné, l'enregistreur n'a pas pris en compte 
le nom que j'avais donné à ma plage, ni son adresse, je ne vois donc pas 
comment la paramètrer

 

Merci de m'aider

 

 

 
  
_
Vous voulez savoir ce que vous pouvez faire avec le nouveau Windows Live ? 
Lancez-vous !
http://www.microsoft.com/windows/windowslive/default.aspx

Re: [prog] GCC_3.3 not found ??

2005-06-10 Thread claude

Stéphane wrote:
[...]

/usr/bin/gij-4.0: /usr/local/OpenOffice.org1.1.4/program/libgcc_s.so.1:
version `GCC_3.3' not found (required by /usr/lib/libgcj.so.6)
/usr/bin/gij-4.0: /usr/local/OpenOffice.org1.1.4/program/libgcc_s.so.1:
version `GCC_3.3' not found (required by /usr/lib/libgcj.so.6)

[...]

D'après Synaptic (le gestionnaire de paquets sous Ubuntu), j'ai le GCC
3.3.5, le 3.4.3 et le 4.0.0 ... je ne sais pas lequel OOo utilise par
défaut ni d'ailleurs pourquoi OOo a besoin d'un compilateur pour lancer
un script OOBasic ?? (j'ai du louper un truc là :/ ) 

[...]

Mais là je sors un peu du domaine d'application de la liste ... je vais
poster vers une liste Linux
(Bon, si quelqu'un a la solution ici, je suis preneur ;) )


Pour savoir quelle est la version utilisée par défaut, fais un petit :
gcc -v

Manifestement, les libs d'OOo cherchent la version 3.3, mais sur ma 
debian Sid, je n'ai pas de /usr/bin/gij-4.0. Vérifies que ce n'est pas 
un lien pointant sur autre chose.


--
Amicalement,
Claude Thomassin
SIRE

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



Re: [prog] GCC_3.3 not found ??

2005-06-10 Thread claude

Stéphane wrote:
[...]
quant à gcc, j'obtiens un "command not found" 


Avec quel user as-tu essayé ? Ubuntu est un peu tordue du point de vue 
de la sécurité (c'est pour ça que j'ai laissé tomber pour le moment ;)


[EMAIL PROTECTED]:~$ gcc -v
Lecture des spécification à partir de 
/usr/lib/gcc-lib/i486-linux/3.3.6/specs
Configuré avec: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared 
--enable-__cxa_atexit --with-system-zlib --enable-nls 
--without-included-gettext --enable-clocale=gnu --enable-debug 
--enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux

Modèle de thread: posix
version gcc 3.3.6 (Debian 1:3.3.6-6)
[EMAIL PROTECTED]:~$


[EMAIL PROTECTED]:~]> file /usr/bin/gcc-3.3
/usr/bin/gcc-3.3: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs),
stripped
[EMAIL PROTECTED]:~]> file /usr/bin/gcc-3.4
/usr/bin/gcc-3.4: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs),
stripped
[EMAIL PROTECTED]:~]> file /usr/bin/gcc-4.0
/usr/bin/gcc-4.0: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs),
stripped



Chez moi :

ls -la /usr/bin | grep gcc
lrwxrwxrwx   1 root root  7 Mar 27 23:42 gcc -> gcc-3.3
-rwxr-xr-x   1 root root  85196 Jun  7 04:49 gcc-3.3
lrwxrwxrwx   1 root root 10 Mar 27 23:42 gccbug -> gccbug-3.3
-rwxr-xr-x   1 root root  16055 Jun  7 04:39 gccbug-3.3
lrwxrwxrwx   1 root root  7 Mar 27 23:42 i386-linux-gcc -> gcc-3.3
lrwxrwxrwx   1 root root  7 Jun  8 11:29 i386-linux-gcc-3.3 -> 
gcc-3.3
lrwxrwxrwx   1 root root  7 Jun  8 11:29 i486-linux-gcc-3.3 -> 
gcc-3.3


gcc est un lien symbolique vers gcc-3.3. Chez toi qui en a plusieurs 
versions installées (ça m'est arrivé lorsque certains paquets ont 
besoins d'une version précise de gcc pour fonctionner), il doit en aller 
de même. Le tout est de voir vers quelle version pointe ce lien (je 
parierai vers la version la plus récente : 3.4). Il devrait suffire de 
supprimer ce lien et d'en créer un pointant vers la version attendue par 
OOo (au moins le temps d'exécuter ta macro). Tu peux le modifier via 
midnight commander (mc) en sélectionnant le lien puis en tapant CTRL+x+s


--
Amicalement,
Claude Thomassin
SIRE

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



Re: [prog] Appel à test - extension Cal c2Dokuwiki

2007-09-12 Thread claude

Luc Sorel a écrit :
[...]


Quoi qu'il en soit, après avoir désinstallé la version précédente de 
Calc2Dokuwiki, y a-t-il des volontaires pour télécharger la nouvelle 
version <http://www.lucsorel.com/index.php?page=downloads#calc2dokuwiki> 
et la tester ? J'ai copié-collé ci-dessous les points que vous pouvez 
vérifier, si vous voulez.


Sympathicamicalement, Luc (-> Laurent : ça m'a pris un paquet de temps 
avant de le taper sans regarder celui-là ! ;-) )


Sur ma debian Sid (OOo 2.2.1-8) ça fonctionne sans avoir besoin de 
bidouiller pour faire apparaître l'icone ;)


Y'aurait pas la même chose pour les documents writer ? Bon, je sais, je 
suis gourmand :D


--
Claude Thomassin
SIRE

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



Re: [prog] Appel à test - extension Cal c2Dokuwiki

2007-09-12 Thread claude

Luc Sorel a écrit :

claude a écrit :

Luc Sorel a écrit :

[...]
Sur ma debian Sid (OOo 2.2.1-8) ça fonctionne sans avoir besoin de 
bidouiller pour faire apparaître l'icone ;)
Tu veux dire que l'icône apparaît directement sans aller dans 
Affichage/Barre d'outils ? Ou fais-tu allusion à la manip' suggérée par 
Laurent (consistant à modifier le répertoire interne de l'extension 
/meta-inf en /META-INF) ?


Vi :) J'ai sélectionné l'extension dans outils/gestionnaire d'extension 
et je l'ai installé. J'ai fermé OOo, je l'ai réouvert et dans calc, j'ai 
l'icone qui apparait à gauche des nouveaux documents (en fait, c'est une 
barre d'outils mais je n'ai pas eu à passer par affichage pour l'avoir ;)


Concernant ce 2e point, j'ai oublié de dire explicitement dans mon mail 
précédent que j'avais corrigé ce point-là dans la nouvelle extension 
disponible au téléchargement.


Cette la nouvelle version que j'ai installé.

Y'aurait pas la même chose pour les documents writer ? Bon, je sais, 
je suis gourmand :D
On trouvera de quoi satisfaire notre grand gourmand dans cette extension 
: :-)

http://extensions.services.openoffice.org/project/writertools

En effet, WriterTools (il s'agit donc bien de documents Writer) inclut 
la macro :

/Convert to DokuWiki/ converts the current document into DokuWiki format.


Me voilà comblé (pas encore repu mais cela ne saurait tarder). Heu, 
comment tu sais que je suis grand ? :P


--
Claude Thomassin
SIRE

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



[prog] Copier/Coller une Cellule (ou Formules) vers N cellules

2005-03-29 Thread jean-claude . david
Bonjour,
J'ai un assez gros classeur de données (5Mo, 9000 lignes), dans lequel il me
faut ajouter quelques colonnes calculées. Je pose donc quelques formules en
ligne 2 (Ex : dans les colonnes "AL", "AM", "AN"...), que je souhaite
ensuite dupliquer jusqu'au bas de mon classeur ==> du genre Copier "AL2:AN2"
/Coller (ou Collage Spécial des Formules) de "AL3:AN3" à "AL9000:AN9000". 

Pour le moment je n'ai pas trouvé autre chose que le Dispatcher pour faire
ce Copier/Coller (ou une boucle d'enfer de SetFormula qui ne me convient pas
plus...), quelqu'un aurait il quelque chose de plus efficient à me proposer
(du genre "SetFormulaArray", mais celui ci nécessite un "GetFormulaArray" de
taille identique...) ?

Ensuite, pour soulager le classeur je fais un "Copier" / "Collage Spécial
des Valeurs" pour les colonnes "AL:AN" avec
un DataArray.

D'avance Merci,
Jean-Claude 


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



RE: [prog] RESOLU Copier/Coller une Cellule (ou Formules) vers N cellules

2005-03-30 Thread jean-claude . david
Super, Merci. Terriblement plus efficace et tellement plus satisfaisant sur
le plan "éthique" de la programmation...

Ci joint l'adaptation exacte à mon problème avec mes commentaires (si cela
peut servir à quelqu'un d'autre...)

'PB : Dupliquer dans "AL2:AO9000" la "1" ère ligne de cette sélection 
'Zone globale : Source et Cible
ZoneCible = oXL.Sheets(0).getCellRangeByPosition( 38, 1, 40, 9000)
'1 seule Ligne à dupliquer - la 1ère - à dupliquer vers le Bas 
ZoneCible.fillAuto(com.sun.star.sheet.FillDirection.TO_BOTTOM, 1) 


>Bonjour
>ZoneCible = MaFeuille.getCellRangeByPosition(0,0,5,2000) '  A1: F2001
sélectionne la zone ou va être recopiéela formule
>ZoneCible.fillAuto(com.sun.star.sheet.FillDirection.TO_TOP, 1) 'recopie les
formules sur plusieurs lignes à partir de la 1ére
>Jluc

>Pb : Copier "AL2:AN2" et les Coller de "AL3:AN3" à "AL9000:AN9000".

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



[prog] Ajouter une annotation (ou note ou commentaire) sur une cellule

2005-04-01 Thread jean-claude . david
Bonjour,
J'ai bien trouvé "qu'insérer une note" (le terme semble être le même dans
Ooo français ou Ooo anglais, et cela s'appelle un "commentaire" dans Excel)
dans une cellule se traduisait en StarBasic par "insérer une annotation" ;-)
mais ensuite j'ai un peu de mal à traduire l'exemple du SDK (en Java) en
"StarBasic courant". Si quelqu'un l'a déjà fait ou peut me le traduire en
StarBasic (cela doit tenir en 4  ou 5 lignes)...

D'avance merci.
Jean-Claude

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



[prog] RESOLU RE: [prog] RE : [prog] Ajouter une annotation (ou note ou commentaire) sur une cellule

2005-04-01 Thread jean-claude . david
Merci Sébastien, dans mes différentes tentatives je n'étais pas passé très
loin...

Au plus court, la solution est :
oCell.Annotation.String = "Mon commentaire"

Jean-Claude

-Message d'origine-
De : Sébastien VINOT [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 1 avril 2005 14:16
À : prog@fr.openoffice.org
Objet : [prog] RE : [prog] Ajouter une annotation (ou note ou
commentaire) sur une cellule


Bonjour,

J'ai mis un petit exemple de comment insérer une note sur mon site :
http://www.logisphere.fr/composants/open_office/

Il s'agit de "Note_it". Je pense que c'est ce que tu recherches.

Sébastien.


-Message d'origine-
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] 
Envoyé : vendredi 1 avril 2005 13:59
À : prog@fr.openoffice.org
Objet : [prog] Ajouter une annotation (ou note ou commentaire) sur une
cellule


Bonjour,
J'ai bien trouvé "qu'insérer une note" (le terme semble être le même
dans Ooo français ou Ooo anglais, et cela s'appelle un "commentaire"
dans Excel) dans une cellule se traduisait en StarBasic par "insérer une
annotation" ;-) mais ensuite j'ai un peu de mal à traduire l'exemple du
SDK (en Java) en "StarBasic courant". Si quelqu'un l'a déjà fait ou peut
me le traduire en StarBasic (cela doit tenir en 4  ou 5 lignes)...

D'avance merci.
Jean-Claude

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





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

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



[prog] Recherche de parents

2005-05-12 Thread Jean-Claude . David2
Bonjour, je cherche à récupérer en StarBasic une référence sur le parent
d'un objet ?...

Je m'explique : 

Sub Test
Dim oCell As Object
oCell = ThisComponent.Sheets(0).getCellRangeByName("A1")
Toto(oCell)
End Sub

Sub Toto(oCell As Object)
Dim oSheet As Object 'Feuille parent de la cellule recue en paramètre
oSheet = ... (oCell) 'A faire pointer sur la feuille container de la
cellule : ThisComponent.Sheets(0).
...
...
End Sub

Si je passe oCell en paramètre à ma procédure Toto, comment puis-je y
récupérer un objet oSheet qui pointe sur la feuille parente de la référence
passée en paramètre à ma procédure (ici ThisComponent.Sheets(0) ) ...
______
D'avance merci
Jean-Claude


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



RE: [prog] Recherche de parents

2005-05-12 Thread Jean-Claude . David2
J'ai essayé :
oSheet = oCell.getParent() ==> Propriété ou méthode introuvable...


Je suppose que tu as essayé getParent();

[EMAIL PROTECTED] a écrit :

>Bonjour, je cherche à récupérer en StarBasic une référence sur le parent
>d'un objet ?...
>
>Je m'explique :
>
>Sub Test
>Dim oCell As Object
>   oCell = ThisComponent.Sheets(0).getCellRangeByName("A1")
>   Toto(oCell)
>End Sub
>
>Sub Toto(oCell As Object)
>Dim oSheet As Object 'Feuille parent de la cellule recue en paramètre
>   oSheet = ... (oCell) 'A faire pointer sur la feuille container de la
>cellule : ThisComponent.Sheets(0).
>   ...
>   ...
>End Sub
>
>Si je passe oCell en paramètre à ma procédure Toto, comment puis-je y
>récupérer un objet oSheet qui pointe sur la feuille parente de la référence
>passée en paramètre à ma procédure (ici ThisComponent.Sheets(0) ) ...
> 
>

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



RE: [prog] Recherche de parents

2005-05-12 Thread Jean-Claude . David2
Pas mieux, même résultat ;-(  

-Message d'origine-
De : Thomas Coquery [mailto:[EMAIL PROTECTED]
Envoyé : jeudi 12 mai 2005 15:17
À : prog@fr.openoffice.org
Objet : Re: [prog] Recherche de parents


getContainer() alors ???

[EMAIL PROTECTED] a écrit :

>J'ai essayé :
>oSheet = oCell.getParent() ==> Propriété ou méthode introuvable...
>
>
>Je suppose que tu as essayé getParent();

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



RE: [prog] Resultset non nul pour une table vide

2005-05-12 Thread Jean-Claude . David2
De mémoire, il me semble que le pointeur du resultSet pointe sur
l'enregistrement "avant" le premier enregistrement.
Je le parcoure alors de la manière suivante :

oRst = oStatement.ExecuteQuery(strSQL) 'Exécution de la requête
'Parcoure les enregistrements
Do While oRst.Next
...
Loop

Le IsNull() doit seulement indiquer la réussite de l'ouverture du resultset.

Jean-Claude


De : Martin blaizot [mailto:[EMAIL PROTECTED]
 
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Materiel")
Connection = DataSource.GetConnection("","")
Matable = Connection.Tables.getbyname("Provisoire")
Statement = Connection.createStatement()
Resultset = Statement.executeQuery("SELECT *  FROM "& Matable.name &"")
If Not IsNull(Resultset) Then
 Resultset.first
 Print"le libellé de mon premier champ est : ",Resultset.getString(1)
End if
 
Il me trouve un enregistrement alors que ma table est vide !!!

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



RE: [prog] Resultset non nul pour une table vide

2005-05-12 Thread Jean-Claude . David2
Ci dessous extraits de la doc qui expliquent pour le resultset qu'un
executequery n'est jamais null, et que le curseur est positionné à l'origine
"before the first row"


Jean-Claude

=
executeQuery( [in] string sql) raises(SQLException ); 

Description  : executes a SQL statement that returns a single ResultSet. 
Parameter sql : the SQL statement which should be executed 
Returns : a ResultSet that contains the data produced by the query; never
NULL 
Throws : SQLException if a database access error occurs.  


next()  raises( SQLException ); 

Description : moves the cursor down one row from its current position. 
A ResultSet cursor is initially positioned before the first row; the first
call to next makes the first row the current row; the second call makes the
second row the current row, and so on. 

If an input stream is open for the current row, a call to the method next
will implicitly close it. The ResultSet's warning chain is cleared when a
new row is read. 

Returns : true if successful 
Throws : SQLException if a database access error occurs. 


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



RE: [prog] Recherche de parents

2005-05-13 Thread Jean-Claude . David2
Merci.

>essaye ceci
>
>Sub Toto(oCell As Object)
>Dim oSheet As Object 'Feuille parent de la cellule recue en paramètre
>print oCell.SpreadSheet.Name
>End Sub
>
>oCell.SpreadSheet contient bien l'objet feuille contenant ta cellule
>
>Laurent
>
-- 
Laurent Godard <[EMAIL PROTECTED]> - Ingénierie OpenOffice.org
Indesko >> http://www.indesko.com
Nuxeo CPS >> http://www.nuxeo.com - http://www.cps-project.org
Livre "Programmation OpenOffice.org", Eyrolles 2004

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



RE: [prog] Recherche de parents

2005-05-13 Thread Jean-Claude . David2
Merci Bernard, XRay est très pratique mais il permet d'explorer les "objets
subordonnés", c'est pourquoi je n'ai pas pensé à l'utiliser. 
J'avais oublié que dans le CellAddress on disposait de la feuille. De toute
facon - en utilisant XRay - je n'aurais pas penser à rechercher dans
CellAdddress pour y Trouver Sheet. XRay est très pratique quand on a une
idée de l'endroit où se trouve ce que l'on cherche, mais ce n'est pas "un
moteur de recherche".

Encore merci
Jean-Claude
-Message d'origine-
De : Bernard Marcelly [mailto:[EMAIL PROTECTED]
> 
> getContainer() alors ???
> 
> 
>> J'ai essayé :
>> oSheet = oCell.getParent() ==> Propriété ou méthode introuvable...
>>
>>
>> Je suppose que tu as essayé getParent();
>>
On peut continuer longtemps à deviner... Utilisez Xray pour inspecter 
les propriétés et fonctions disponibles sur un objet.
La réponse est dans le chapitre 5.4 du HowTo API OpenOffice (presque) 
sans peine. Et bien sûr dans le livre Programmation OpenOffice.org p287.

CoordCellule = UneCellule.CellAddress
FeuilleCourante = CoordCellule.Sheet

FeuilleCourante donne le numéro de la feuille dans le tableur.

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



[prog] Copie/Coller : CopyRange

2005-05-16 Thread Jean-Claude . David2
Bonjour,
Je souhaite copier des données (valeurs, formats...) entre 2 classeurs :
*   Source : un classeur que j'ouvre (ActiveWorkBook.Sheets(0) )
*   Destination : ce classeur (ThisComponent.Sheets(2) )
Le code ci dessous me copie les données de ThisComponent.Sheets(0) vers
ThisComponent.Sheets(2) au lieu des données ActiveWorkBook.Sheets(0) vers
ThisComponent.Sheets(2)

Qu'est-ce que j'ai fait de mal ??!!   ;-0
D'avance, merci
Jean-Claude (Ooo 1.1.3 / Windows 98)


Sub TestCopyJCD
Dim wkshtDestin As Object
Dim ActiveWorkBook As Object

'Feuille destination, dans ce classeur
wkshtDestin = ThisComponent.Sheets(2) 
'Choix et ouverture du classeur contenant les données à copier, 
'retourne en objet le classeur ouvert 
ActiveWorkBook = Ouvrir_Fichier_XL(Choisir_Fichier_Xl) 
'Nom de la feuille source : Ok
Print ActiveWorkBook.Sheets(0).Name 
'Contenu d'une cellule source: Ok
Print ActiveWorkBook.Sheets(0).getCellRangeByName("A2").String 
'N° feuille source : Ok
Print "Sheet = " &
ActiveWorkBook.Sheets(0).getCellRangeByName("A1:M10").getRangeAddress.Sheet 
'Plage feuille source à copier : Ok
Print "Plage = " &
ActiveWorkBook.Sheets(0).getCellRangeByName("A1:M10").getRangeAddress.StartR
ow _
& ", " &
ActiveWorkBook.Sheets(0).getCellRangeByName("A1:M10").getRangeAddress.StartC
olumn _
& ", " &
ActiveWorkBook.Sheets(0).getCellRangeByName("A1:M10").getRangeAddress.EndRow
_
& ", " &
ActiveWorkBook.Sheets(0).getCellRangeByName("A1:M10").getRangeAddress.EndCol
umn
'Copie des données Pas ok !!! ;-(  
'les données copiées sont celles de la 1ère feuille de ce classeur 
'et pas celles de ActiveWorkbook ??!!
wkshtDestin.copyRange (
wkshtDestin.getCellRangeByName("A1").getCellAddress, _

ActiveWorkBook.Sheets(0).getCellRangeByName("A1:M10").getRangeAddress)
End Sub

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



RE: [prog] Copie/Coller : CopyRange

2005-05-16 Thread Jean-Claude . David2
Merci, et tant pis...


Le 2005-05-16 09:36, [EMAIL PROTECTED] a écrit :
> Bonjour,
> Je souhaite copier des données (valeurs, formats...) entre 2 classeurs :
> * Source : un classeur que j'ouvre (ActiveWorkBook.Sheets(0) )
> * Destination : ce classeur (ThisComponent.Sheets(2) )
> Le code ci dessous me copie les données de ThisComponent.Sheets(0) vers
> ThisComponent.Sheets(2) au lieu des données ActiveWorkBook.Sheets(0) vers
> ThisComponent.Sheets(2)
> 
> Qu'est-ce que j'ai fait de mal ??!!   ;-0

Rien de mal ;)
Tu peux lire dans la documentation SDK que CopyRange fonctionne sur un 
document. Ils ne disent pas : entre deux documents.
Je ne vois pas d'autre solution que le copier/coller.

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



RE: [prog] Trouver la dernière cellule vide d'une colonne

2005-05-29 Thread Jean-Claude . David2
Bonjour, à priori il n'y a pas d'équivalent dans Ooo à End(xlUp). La seule
fonction qui existe retourne la dernière cellule de la feuille, ce qui n'est
pas la même chose.
Pour ma part je me suis fait une petite fonction qui me retourne la ligne de
la dernière cellule d'une colonne. Cette fonction utilise une autre fonction
qui retourne la ligne de la dernière cellule utilisée dans la feuille :

'---
---
' Retourne le N° de Ligne de la dernière cellule utilisée dans une colonne 
' à partir d'une cellule.
' Auteur : Jean-Claude DAVID 
' Ex : i = lGetLastLigFromCell ( oXLFeuil1.GetCellRangeByName("A1") )
'---
---
Function lGetLastLigFromCell( oCell As Object) As Long
Dim oCurseur As Object 'Curseur d'accès à la dernière cellule de la feuille
Dim i As Long 'Ligne courante
Dim lDerLig as Long 'Dernière ligne utilisée dans la feuille
Dim lFirstLig As Long 'Ligne de départ de la recherche
Dim lCol As String 'Colonne de recherche
Dim oFeuille As Object 'Feuille utilisée

On Error Goto ErrorHandler

'Feuille utilisée
oFeuille = oCell.SpreadSheet
'Dernière ligne utilisée dans la feuille
lDerLig = lGetLastLig( oFeuille)
'Ligne de départ de la recherche
lFirstLig = oCell.CellAddress.Row
'Colonne de recherche
lCol = oCell.CellAddress.Column
'Parcourt de la dernière ligne utilisée dans la feuille, 
' jusqu'à la première ligne de la zone passée en paramètre
For i = lDerLig To lFirstLig Step - 1
'Dernière Ligne
If  oFeuille.getCellByPosition ( lCol, i).String <> "" Then 
lGetLastLigFromCell = i
Exit For 
End If
Next i
Goto Exit_Here

Exit_False:
Exit Function

Exit_Here:  
Exit Function

ErrorHandler:
MsgBox "lGetLastLigFromCell Erreur " & Err & " : " & Error$ & "
(Ligne N°" & Erl & ")", sbCritical + sbOkOnly, Titre_Appli
On Error Goto 0
Goto Exit_False 
End Function 

'---
---
' Retourne le N° de Ligne de la dernière cellule utilisée d'une Feuille 
' Auteur Jean-Claude DAVID
' Ex : i = lGetLastLig ( oXLFeuil1)
'---
---
Function lGetLastLig( oFeuille As Object) As Long
Dim oCurseur As Object 'Curseur d'accès à la dernière cellule de la feuille

On Error Goto ErrorHandler

oCurseur = oFeuille.createCursor 'Crée un curseur
oCurseur.GotoEndOfUsedArea(True) 'Recherche de la dernière cellule
utilisée
lGetLastLig = oCurseur.getRangeAddress.EndRow 'Dernière Ligne
Goto Exit_Here

Exit_False:
Exit Function
    
Exit_Here:  
Exit Function

ErrorHandler:
MsgBox "lGetLastLig Erreur " & Err & " : " & Error$ & " (Ligne N°" &
Erl & ")", sbCritical + sbOkOnly, Titre_Appli
On Error Goto 0
Goto Exit_False 
End Function 


Bon courage, 
Jean-Claude

-Message d'origine-
De : superfan [mailto:[EMAIL PROTECTED]
Envoyé : samedi 28 mai 2005 20:06
À : prog@fr.openoffice.org
Objet : [prog] Trouver la dernière cellule vide d'une colonne


Bonjour à tous,
 
Le problème que j'ai est le suivant :
 
   J'ai deux colonnes (A et B), dans ces colonnes je recopie par macro des
données en me positionnant sur la dernière cellule vide de la colonne A.
Cette cellule vide n'est pas obligatoirement  la cellule active par défaut.
 
Les données que je suis amené à recopier varient en longueur (d'une
ligne à plusieurs sur les 2 colonnes A et B).
 
L'équivalent chez MS pour le tableur est End(xlUp).
 
Comment peut on faire dans OpenOffice, j'ai essayé sans trouver.
 
Merci par avance.

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



RE: [prog]Trouver_la_dernière_cellule_vide_d'une_colonne

2005-05-31 Thread Jean-Claude . David2
Avec l'utilisation des 2 fonctions transmises hier, le N° de la 1ère ligne
vide de la colonne "A" de la 1ère feuille est obtenu ainsi :

FirstLigneVide = ThisComponent.Sheets(0).getCellByPosition( 0,
lGetLastLigFromCell("A1")) + 1

et La sélection de la cellule vide s'effectue ainsi :

ThisComponent.CurrentController.Select(
ThisComponent.Sheets(0).getCellByPosition( 0, FirstLigneVide))

C'est aussi facile que d'utiliser le End(xlup).

Jean-Claude

-Message d'origine-
De : Arnaud POUSSIER [mailto:[EMAIL PROTECTED]
Envoyé : mardi 31 mai 2005 09:09
À : prog@fr.openoffice.org
Objet : Re: [prog]Trouver_la_dernière_cellule_vide_d'une_colonne


Bonjour à tous, 
 
C'est pour moi que tu avais déjà donné ce début de piste et voilà la macro
que j'en ai sorti:
Explication: Depuis la feuille principale de mon classeur, je voualis aller
à la premiére cellule non remplie d'une colonne située sur une autre
feuille. La variante qui est ici c'est que la macro permet d'aller à la
derniére cellule remplie, comme Superfan je voulais quelque chose
d'équivalent à End(xlUp), mais pour l'instant rien de mieux.
 
Bonne journée
@+
 

Bonjour à tous,
 
Le problème que j'ai est le suivant :
 
   J'ai deux colonnes (A et B), dans ces colonnes je recopie par macro des
données en me positionnant sur la dernière cellule vide de la colonne A.
Cette cellule vide n'est pas obligatoirement  la cellule active par défaut.
 
Les données que je suis amené à recopier varient en longueur (d'une
ligne à plusieurs sur les 2 colonnes A et B).
 
L'équivalent chez MS pour le tableur est End(xlUp).
 
Comment peut on faire dans OpenOffice, j'ai essayé sans trouver.
 
Merci par avance.
  _  



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



RE: [prog] Problème pour lancer OOo en mode caché

2005-06-01 Thread Jean-Claude . David2
Bonjour,
Essaye donc déjà de retirer le "s" de arg() dans la dernière ligne. ;-)
Jean-Claude

-Message d'origine-
De : Vincent Buys [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 1 juin 2005 12:13
À : prog@fr.openoffice.org
Objet : [prog] Problème pour lancer OOo en mode caché



Bonjour,

J'ai un petit problème que je n'arrive pas à identifier. Je souhaite ouvrir
un document en lançant une macro d'openoffice sans lancer l'interface
graphique. Pour cela, j'utilise la propriété hidden de LoadComponentFromURL.
Le problème c'est que j'ai le message d'erreur suivant "Runetime Error
Basic, Variable d'objet non paramétrée" sur la dernière ligne du script que
je vous mets ci après. (Sachez qu'en mode par défaut, donc sans la propriété
hidden, le script fct très bien)

Merci pour votre aide
 
Vincent


dim oDesktop as object
dim oDocument as object
dim sUrl as string

sUrl = "file:///" +  NomFichier
dim arg(0) as new com.sun.star.beans.PropertyValue
arg(0).Name ="Hidden"
arg(0).Value = True


oDesktop = createUnoService("com.sun.star.frame.Desktop")
oDocument = oDesktop.loadComponentFromURL(sUrl,"_blank",0,args())


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

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



RE: [prog] Problème pour lancer OOo en mode caché RESOLU

2005-06-01 Thread Jean-Claude . David2
"C'est au pied du mur que l'on voit le moins bien le mur..."
C'est tellement plus facile de voir l'erreur de code d'un autre que les
siennes sur lesquelles on peut repasser vingt fois sans rien remarquer...
D'où l'intérèt de soumettre son code à un oeil moins subjectif que le sien,
sur sa propre prose.
Bonne continuation.
Jean-Claude

-Message d'origine-
De : Vincent Buys [mailto:[EMAIL PROTECTED]

Merci Jean Claude... ça fonctionne... que je suis distrait mea culpa... et
dire que j'ai passé 2 jour à compiler la doc croyant que hidden était pas le
bon paramètre 

-Message d'origine-
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 

Bonjour,
Essaye donc déjà de retirer le "s" de arg() dans la dernière ligne. ;-)
Jean-Claude

-Message d'origine-
De : Vincent Buys [mailto:[EMAIL PROTECTED]
Objet : [prog] Problème pour lancer OOo en mode caché

Bonjour,

J'ai un petit problème que je n'arrive pas à identifier. Je souhaite ouvrir
un document en lançant une macro d'openoffice sans lancer l'interface
graphique. Pour cela, j'utilise la propriété hidden de LoadComponentFromURL.
Le problème c'est que j'ai le message d'erreur suivant "Runetime Error
Basic, Variable d'objet non paramétrée" sur la dernière ligne du script que
je vous mets ci après. (Sachez qu'en mode par défaut, donc sans la propriété
hidden, le script fct très bien)

Merci pour votre aide
 
Vincent


dim oDesktop as object
dim oDocument as object
dim sUrl as string

sUrl = "file:///" +  NomFichier
dim arg(0) as new com.sun.star.beans.PropertyValue
arg(0).Name ="Hidden"
arg(0).Value = True


oDesktop = createUnoService("com.sun.star.frame.Desktop")
oDocument = oDesktop.loadComponentFromURL(sUrl,"_blank",0,args())

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



[prog] Pb avec LockControllers

2005-06-03 Thread Jean-Claude . David2
Bonjour,
J'ai une application qui fonctionne très bien si je ne fige pas le
rafraichissement. 
Mais quand je le fige (pour faire plus rapide et plus joli), j'ai divers
soucis, notamment avec GotoEndOfUsedArea(True) qui ne retourne pas la
dernière cellule "actuelle" de la feuille, mais celle "d'avant le blocage du
rafraichissement".

Quelqu'un a déjà rencontré le problème, est-ce connu ?

Jean-Claude
Ooo 1.1.3 sous Windows


Dim oCurseur As Object
ThisComponent.Sheets.getByName("Résultat").getCellByPosition( 10,
10).String = "X"
oCurseur = ThisComponent.Sheets.getByName("Résultat").createCursor
'Crée un curseur
oCurseur.GotoEndOfUsedArea(True) 'Recherche de la dernière cellule
utilisée
Print oCurseur.getRangeAddress.EndRow 'Dernière Ligne : Affiche 10,
normal
ThisComponent.LockControllers
ThisComponent.Sheets.getByName("Résultat").getCellByPosition( 10,
10).String = ""
ThisComponent.Sheets.getByName("Résultat").getCellByPosition( 8,
8).String = "X"
oCurseur = ThisComponent.Sheets.getByName("Résultat").createCursor
'Crée un curseur
oCurseur.GotoEndOfUsedArea(True) 'Recherche de la dernière cellule
utilisée
Print oCurseur.getRangeAddress.EndRow 'Dernière Ligne : Affiche
aussi 10, pas normal

ThisComponent.unLockControllers 
oCurseur = ThisComponent.Sheets.getByName("Résultat").createCursor
'Crée un curseur
oCurseur.GotoEndOfUsedArea(True) 'Recherche de la dernière cellule
utilisée
Print oCurseur.getRangeAddress.EndRow 'Dernière Ligne : Affiche 8,
normal

ThisComponent.Sheets.getByName("Résultat").getCellByPosition( 8,
8).String = ""

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



[prog] RE: Pb avec LockControllers

2005-06-03 Thread Jean-Claude . David2
Idem avec Ooo 1.9.100

>  -Message d'origine-
> Bonjour,
> J'ai une application qui fonctionne très bien si je ne fige pas le
> rafraichissement. 
> Mais quand je le fige (pour faire plus rapide et plus joli), j'ai divers
> soucis, notamment avec GotoEndOfUsedArea(True) qui ne retourne pas la
> dernière cellule "actuelle" de la feuille, mais celle "d'avant le blocage
> du rafraichissement".
> 
> Quelqu'un a déjà rencontré le problème, est-ce connu ?
> 
> Jean-Claude
> Ooo 1.1.3 sous Windows
> 

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



RE: [prog] Installation de la SDK

2005-06-08 Thread Jean-Claude . David2
Bonjour,
Pour l'utilisation d'OooBasic, tout ceci n'est pas utile, désolé ;-(

J'ai suivi un parcours similaire avant de m'en rendre compte. Pour Ooo le
SDK apporte "simplement" de la documentation.

Ce qui est important et utile :
- le Guide du développeur (Developper's Guide)
- la référence des fonctions (IDL Reference)...

Les documentations présentes sur le site francais d'Ooo (ou autres) et
notamment :
- "L'API presque sans peine" (Bernard MARCELLY)
- "Eléments de programmation des macros dans OpenOffice" (Andrew PITONYAK)
- "Porting Excl/VBA to Calc StarBasic" (?...)

Jean-Claude

-Message d'origine-
De : ch'prof [mailto:[EMAIL PROTECTED]

Bonjour, je souhaite me lancer dans l'étude d'OOoBasic, mais ça ne va pas
sans mal :
(Je suis sous XinXP avec un processeur Pentium4)
- J'ai téléchargé l'archive OOo_1.9.91_Win32Intel_sdk.zip, je l'ai
décompressée.
- Ensuite, j'ai téléchargé et installé mingw32-make-3.80.0-3.exe.
- Ensuite, j'ai téléchargé l'archive zip231xN.zip que j'ai simplement
décompressée.
Je n'ai pas installé de JDK ni de C++ compiler.
J'ai double cliqué sur le fichier configureWindows.bat et j'ai indiqué les
chemins vers tous les dossiers qui m'étaient demandés.
Le problème c'est que je ne vois pas à quoi ça a servi... comment lancer
l'application ?

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



RE: [prog] Barre d'état

2005-06-08 Thread Jean-Claude . David2
Bonjour, pour l'écriture, j'utilise pour ma part une variable globale
"oBarre_Etat As Object", et une fonction "StatusText", que j'utilise ainsi :
..
StatusText  "Initialisation de l'application..."
...

'-----
' Affiche Texte dans Barre Etat
' Auteur : Jean-Claude DAVID [EMAIL PROTECTED]
'-
Sub StatusText(sInformation As String)
On Error Goto ErrorHandler
If IsNull(oBarre_Etat) Then oBarre_Etat =
ThisComponent.CurrentController.StatusIndicator 'Définit la Barre d'état 
oBarre_Etat.setText(sInformation + SPACE(350 - Len(sInformation)))
Goto Exit_Here

Exit_False:
Exit Sub

Exit_Here:  
Exit Sub

ErrorHandler:
MsgBox "StatusText Erreur " & Err & " : " & Error$ & " (Ligne N°" &
Erl & ")", sbCritical + sbOkOnly, Titre_Appli
On Error Goto 0
Goto Exit_False 
End Sub

>  
> Y A T IL MOYEN DE LIRE VIA BASIC LE CONTENU DE LA BARRE D ETAT ?
>  
> PEUT ON AUSSI Y ECRIRE ?

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



[prog] RE: Pb avec LockControllers

2005-06-08 Thread Jean-Claude . David2
Bon, pas de nouvelles depuis 5 jours... (ni sur le forum francais, ni même
sur l'américain !!!) ;-(((
Je suis étonné qu'un tel fonctionnement ne perturbe personne ? Tout le monde
travaille avec le rafraichissement "On" ??!! Cela fait quand même sacrément
ralentir l'exécution du code.
Quelqu'un peut il quand même essayer le bout de code chez lui (17 lignes
jointes au message du 06/06 13:44) et m'indiquer si le résultat est
identique (il suffit de copier / coller le code et tapoter F5) ?
Faut il ouvrir un Bug ?

D'avance, merci
Jean-Claude

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



[prog] RE: Pb avec LockControllers

2005-06-08 Thread Jean-Claude . David2
Merci de ta réponse, même si elle ne fait pas avancer la chose.
Que ce soit bien clair, je ne reproche rien à personne, je ne cherche pas
lancer une polémique ou quoi que ce soit, chacun à ses problèmes,
disponibilités, compétences, centres d'intérèts...

Le "figeage" du rafraichissement d'écran pendant le déroulement d'un
programme est généralement la 1ère ligne que je mets dans une procédure
(même si je ne "l'active" qu'une fois le développement complètement
terminé). 
Venant du VBA, c'est l'une des premières fonctions que j'ai recherché dans
StarBasic, ceci permet l'exécution beaucoup plus rapide d'un programme, et
ne perturbe pas l'utilisateur avec des feuilles qui bougent dans tous les
sens... C'est donc plus efficace et plus propre.

Le test demandé consiste à :
- ouvrir un nouveau document Calc
- ouvrir le Basic :Menu Outils/Macros/Macros...
- descendre l'ascenseur de la liste déroulante de gauche jusqu'en bas et y
sélectionner "Standard" (dans "Sans Nom 1")
- cliquer sur "Nouveau" et valide le nom du module proposé
- faire monter le curseur sur la 2ème ligne (juste sous "REM   * BASIC
")
- copier le code ci dessous, le coller dans le Basic à l'endroit où se
trouve le curseur
- appuyer sur F5
- noter le chiffre indiqué par chaque boite de dialogue (3 chiffres en tout)
- me renvoyer ces valeurs ainsi que la version d'Ooo et de système
d'exploitation utilisé

Merci,
Jean-Claude

Sub Test
Dim oCurseur As Object 
Dim oSheet As Object 

oSheet = ThisComponent.Sheets(0) 
oSheet.getCellByPosition( 8, 8).String = "X" 
oCurseur = oSheet.createCursor 
'Find the sheet's last cell 
oCurseur.GotoEndOfUsedArea(True) 
'Display "8", that's correct 
Print oCurseur.getRangeAddress.EndRow 

ThisComponent.LockControllers 
oSheet.getCellByPosition( 8, 8).String = "" 
oSheet.getCellByPosition( 10, 10).String = "X" 
oCurseur.GotoEndOfUsedArea(True) 
'Also display "8", that's very BAD !!! 
Print oCurseur.getRangeAddress.EndRow 

ThisComponent.unLockControllers
oCurseur.GotoEndOfUsedArea(True) 
'Display "10", that's correct too 
Print oCurseur.getRangeAddress.EndRow 
oSheet.getCellByPosition( 10, 10).String = "" 
End Sub

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



[prog] RE: Pb avec LockControllers

2005-06-09 Thread Jean-Claude . David2
Merci à tous pour vos réponses, au moins cela me conforte car je constate
que ce problème de comportement est vérifié ailleurs par d'autres config.
Même si je n'ais pas de solution, je sais que cela ne fonctionne pas
correctement.
J'en retiendrais donc que le GotoEndOfUsedArea ne marche pas "en
modifications dynamiques de la feuille" si le LockControllers est activé (à
graver dans mes tablettes).

Encore merci, 

Jean-Claude

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



RE: [prog] assignement de macro pour une simple sélection de cellule

2005-06-09 Thread Jean-Claude . David2
Bonjour, à ma connaissance il n'y a pas vraiment de possibilité en ce sens. 
En fonction de ton contexte, n'y a t'il pas moyen de contourner le problème,
de le prendre de manière fondamentalement différente puisque la 1ère méthode
qui est venue à l'esprit semble ne pas fonctionner. Non pas en codant, mais
en laissant l'interface Ooo gérer le problème :
- en masquant les lignes sous la ligne 20
- en protégeant certaine parties de la feuille
- en jouant avec la "Validité de données"
- ... ?

Jean-Claude

-Message d'origine-
De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
[...]
Bonjour Jean-Luc,

merci pour ces précisions, je vais regarder les listener dans la bible ;)
ce que je veux faire exactement :
je voudrais qu'un MsgBox (différent selon les cas) apparaisse lorsque la
cellule
sélectionnée se trouve en-dessous de la ligne 30 (sur Calc donc).
par exemple : si le user se positionne sur la cellule B35, je veux qu'un
message
lui soit affiché...

voilà, merci bien, je vais explorer les pistes que tu m'as indiquées.

William

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



RE: [prog]Trouver_la_dernière_cellule_vide_d'une_colonne

2005-06-10 Thread Jean-Claude . David2
Bonjour, décris précisement ton besoin, éventuellement envoie en MP ton
appli.
Jean-Claude

-Message d'origine-
[...]
Bonjour, 

J'ai cherché à adapter la macro pour la selection de la cellule vide mais
pour l'instant je sèche lamentablement, surtout que la selection que je
cherche à faire se trouve dans une autre feuille.

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



RE: [prog] Listbox notion de topindex? sous formulaire

2005-06-10 Thread Jean-Claude . David2
Euh, excuses moi, mais je n'ai pas bien compris la question ;-(  ???
Jean-Claude

[..]
Pour  éviter cela je cherche non pas à imposer seulement un numéro d'item
mais à lire celui de la listbox active.
[..]

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



RE: [prog] Listbox notion de topindex? sous formulaire

2005-06-10 Thread Jean-Claude . David2
Ok, j'ai compris. Je n'ai pas cherché, mais "à priori" je dirais qu'il n'y a
pas de solution car cela correspond seulement un état transitoire de la
liste (pendant la phase de recherche d'un élément avant sélection). 
De manière similaire, dans une feuille de classeur on ne va pas "surveiller"
la position des ascenseurs verticaux et horizontaux.
De plus, je ne vois pas de gros intérèt général à un évènement du type "1er
élément visible de la liste en ce moment".
Bon, ce n'est pas la réponse que tu attendais, c'est seulement mon avis...
;-((

Jean-Claude

[...]
Comment faire pour lire le numéro d'item situé en haut de la list box ( 
ouverte sous forme d'une fenêtre) ?
[...]
Existe -t-il une méthode pour lire ce numéro plutot que seulement l'imposer 
via makevisible(N°) ?

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



RE: [prog] Pb mailing

2005-06-13 Thread Jean-Claude . David2
Bonjour, j'ai également été confronté à quelque chose de ce genre. 
Solution : rechercher les cellules vides de la Base de Données (Null) et les
remplacer par " " ... ?
Jean-Claude

-Message d'origine-
De : Alexandre MILLOT [mailto:[EMAIL PROTECTED]
Envoyé : vendredi 10 juin 2005 16:40
À : prog@fr.openoffice.org
Objet : [prog] Pb mailing


Bonjour, j'ai developpé une macro pour interfacer le mailing avec notre
logiciel de gestion, cela fonctionne mais lorsque j'insère un champ d'une
base de donnée ex :  si dans une des lettres de mailing ce champ
n'est pas renseigné alors il me la remplace par un blanc lorsque je sort
dans un fichier, il laisse le nom du champ si je sort directement sur
imprimante 
 
Comment fais je pour remplacer la valeur des variables obligatoirement par
un blanc sur l'impression.
 
Merci d'avance.
 

Add FUN to your email - CLICK HERE!

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



RE: [prog] calcul sur les dates

2005-06-21 Thread Jean-Claude . David2
Bonjour,

Déjà, en ce qui concerne ca :
[...] pourquoi j'obtiens une erreur pour les 2 premiers jours du mois si
j'écris:
vDateFin =dateserial (year (vdate)+1, month (vdate), day (vdate)-2) ?
[...]
C'est "normal", cela revient à demander de calculer la date correspondant au
"-1/01/2005" (par exemple)

Jean-Claude

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



RE: [prog] calcul sur les dates

2005-06-21 Thread Jean-Claude . David2
Rebonjour,

[...]
Pourquoi suis-je obligé d'enlever 2 jours pour avoir la date correcte à "+ 1

an"?
Sans correction, j'obtiens systématiquement comme date à 1 an, la date de 
début + 1 an et 2 jours (20/06/2005 -> 22/06/2006).
[...]

Cela provient du type de données utilisé, utiliser un type "Date" prévu à
cet effet

Jean-Claude



Sub Main
dim vDate as date
dim vDateFin as date

vDate = cdatefromiso("2005-06-20")
Print vdate

vdatefin = dateserial (year (vdate) + 1, month (vdate), day (vdate))
Print vdatefin '20/06/2006
End Sub

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



RE: [prog] Ouverture de fichier via macro

2005-06-23 Thread Jean-Claude . David2
Bonjour, je ne sais pas si c'est une faute de copier/coller pour le code,
mais moi je mettrais 
Args(0).Name = "FilterName"
Args(0).Value = "Text - txt - csv (StarCalc)"
Args(1).Name = "FilterOptions"
Args(1).Value = "9/44,39,STANDARD,1,1/1/2/1/3/1"

;-)) tel que tu nous l'as transmis, tu restes sur le paramètre "0" (Args(0)
partout)

Jean-Claude


[...]
dim Args(0) as new com.sun.star.beans.PropertyValue
Args(0).Name = "FilterName"
Args(0).Value = "Text - txt - csv (StarCalc)"
Args(0).Name = "FilterOptions"
Args(0).Value = "9/44,39,STANDARD,1,1/1/2/1/3/1"
oDoc = StarDesktop.LoadComponentFromURL(ConvertToURL(CheminSource + 
"Fichier.csv"),"_blank",0,Args())
[...]

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



RE: [prog] Aide sur fonction CalcSQL2

2005-06-28 Thread Jean-Claude . David2
Bonjour, 
Il manque un ";" entre "CelluleCible" et "Source de Données". CalqSQL2
attend 4 paramètres. Tu n'as pas tort dans le sens où ce ";" manque dans la
documentation (cela doit être la souris qui a fourché ;-)

Jean-Claude

[...]
=CALCSQL2("NomFeuille";""CelluleCible""SourceDeDonnees";"select * from
LaTable where LeChamp=" & QUOTE(A14))
[...]

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



RE: [prog] Aide sur fonction CalcSQL2

2005-06-28 Thread Jean-Claude . David2
ReBonjour,
Il me semble - à la lecture du code (com.sun.star.sheet.DataImportMode.SQL)
- que le 4ème paramètre doit être du code SQL (SELECT  FROM... ) et pas
le nom d'une requête (RQ1). Ce qui donnerait :

=CALCSQL2("feuille3";"D7";"ESSAI";"SELECT * FROM RQ1")

Jean-Claude

[...]
=CALCSQL2("feuille3";"D7";"ESSAI";"RQ1")
[...]

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



RE: [prog] question sur copier/coller dans Calc

2005-06-28 Thread Jean-Claude . David2
Bonjour, as tu essayé sans le "hidden" pour voir si le comportement est
identique ?

Jean-Claude

[...]
Args(0).Name = "Hidden"
Args(0).Value = true
[...]

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



RE: [prog] Aide sur fonction CalcSQL2

2005-06-28 Thread Jean-Claude . David2
1) Tu as des problèmes de conflits dans les quotes utilisées dans la requête
SQL?
2) Tu ne dois pas pouvoir utiliser "N" paramètres
3) Il faut que Stat soit une table (ou au moins une requête enregistrée)


Je remplacerais donc :
[...]
SELECT "IMDEC", "IMVIS", "EXDEC", "EXVIS" FROM "STAT" "STAT"
[...]

Par :
SELECT IMDEC, IMVIS, EXDEC, EXVIS FROM STAT 
et donc la formule devient :
=calcsql2("Feuille3";"D7";"ESSAI";"SELECT imdec, imvis, exdec, exvis FROM
stat")

Jean-Claude

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



RE: [prog] Aide sur fonction CalcSQL2

2005-06-28 Thread Jean-Claude . David2
Si il te dit qu'il y a des cellules protégées, c'est qu'il doit y avoir des
cellules protégées...  ;-
Refais l'essai avec la formule sur un classeur tout neuf, sans protection.
Ne mets pas la cellule de ta formule à l'intérieur de ta zone de
destination.
 
Jean-Claude

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



RE: [prog] Retour sur fonction CalcSQL2

2005-06-28 Thread Jean-Claude . David2
Je n'ai jamais utilisé CalSQL... mais,
 
Au démarrage du classeur, tu peux affecter une procédure (sans paramètres),
mais tu ne peux pas affecter une "fonction" avec des paramètres (ces
paramètres seront forcément manquants à l'appel ==> "L'argument n'est pas
facultatif", et le résultat de la fonction, Ooo va le mettre où ???)

Essayes d'effacer la zone de destination avant de relancer le calcul de la
feuille.

Jean-Claude

[...]
J'ai essayé en assignant la fonction au démarrage du document mais cela me
renvoi une erreur dans le module Basic, 

Runtime Error Basic
L'argument n'est pas facultatif

à ce niveau dans le code:

NomSource=Trim(NomSource)
[...]

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



RE: [prog] Retour sur fonction CalcSQL2

2005-06-29 Thread Jean-Claude . David2
Bonjour,
Il n'y a pas de paramètre supplémentaire à ajouter. Il te faut simplement -
dans le gestionnaire de souirces de données - reparamétrer "l'URL de la
source de données", et la faire pointer sur ton classeur réseau en le
sélectionnant dans l'explorateur, de la même manière que pour un classeur
local.

J'ean-Claude

[...]
Tout aller trés bien jusqu'à ce que j'essai d'utiliser mes fichiers en
réseau depuis un autre poste. Maintenant dans la case j'ai "source de
données inconnue", alors que cela marche trés bien sur mon pc où sont
implantés les fichiers.
[...]

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



RE: [prog] Retour sur fonction CalcSQL2

2005-06-29 Thread Jean-Claude . David2
1) Oui, dans le 1er onglet
2) Sur tous les PC, la source de données doit être définie (à la main ou par
macro, mais c'est une autre histoire... pas du tout compliquée, mais plus
longue à expliquer ), le nom de la source de données doit être
absolument identique (orthographe et casse identiques). Si ce n'est pas le
cas, pour que ton classeur fonctionne il va falloir adpater la formule du
classeur sur chaque PC pour la mettre en rapport avec le nom exact de la
source de données sur ce PC (ce qui revient au même, mais en plus compliqué
et moins cohérent  ;-
3) Je n'ai pas bien saisi l'utilisation de l'onglet "Liens", mais tu n'en as
à priori pas besoin


Je joint quand même ci dessous un exemple de code qui crée - si besoin - une
source de données avec pour nom le contenu de la variable globale NomSource
(Ex : "MaSource"), et le classeur situé - sur un réseau - à l'endroit
URLSource (Ex : "sdbc:calc:file:///J:/AEH/JCD/Sauvegardes/Toto.sxw"). Cette
fonction peut être appelé à l'ouverture du classeur et ainsi créer
automatiquement la source si elle n'est pas présente.

Jean-Claude


[...]
Tu parles de reparametrer l'URL de la source de donnée, je suppose que c'est
dans le premier onglet du gestionnaire. J'ai donc depuis un autre poste
était cherché la source de données mais pour que cela soit pris en compte,
il faut que je la déclare comme nouvelle source de données sur le poste ou
je suis avec le même nom que sur le poste d'origine pour que le requête soit
comprise.
Où alors faut-il également faire un lien dans le dernier onglet du
gestionnaire de source de données 
[...]


Function Creation_Source_De_Donnees() As Boolean
dim oContext as object
dim oSource as object
dim Reponse as string

On Error Goto ErrorHandler

oContext = createUnoService("com.sun.star.sdb.DatabaseContext")
'Test si la source de données existe
Reponse = oContext.hasByName(NomSource)
If Reponse = False Then 
'Création de la source de données  
oSource = oContext.createInstance
oContext.registerObject(NomSource, oSource)
oSource.URL = URLSOurce 
End If

Creation_Source_De_Donnees = True
Goto Exit_Here

Exit_False:
Exit Function

Exit_Here:  
Exit Function

ErrorHandler:
MsgBox "Creation_Source_De_Donnees Erreur " & Err & " : " & Error$ &
" (Ligne N°" & Erl & ")", sbCritical + sbOkOnly, Titre_Appli
On Error Goto 0
Goto Exit_False 
End Function

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



RE: [prog] Filtre sur les tables d'une base de données ?

2005-06-30 Thread Jean-Claude . David2
Bonjour,

[...]
Je souhaite maintenant filtrer à l'affichage la liste des tables de cette
même base.
[...]

Ci joint extrait de code qui filtre un formulaire :

'Définition du Filtre en SQL
strSQL = "commu = " & CLNG(sCommune) & " AND annee_permis = " & CLNG(sAnnee)
& " AND no_permis LIKE '" & sPermis & "'"
'Accès au formulaire
oForm = ThisComponent.DrawPage.Forms.GetByName("Saisie_totale")
'Affecte le filtre au formulaire
oForm.Filter = strSQL 
'Recharge le formulaire avec les nouvelles données
oForm.Reload 


C'est tout

Jean-Claude

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



RE: [prog] Retour sur fonction CalcSQL2

2005-07-01 Thread Jean-Claude . David2
Bonjour,
La source URL est une chaine de caractères ==> il faut donc l'encadrer par
des cotes : ""
oSource.URL = "sdbc:calc:file:///001poste2/partage
document/TRAFIC/Banale_2005/TDB/NUM1.sxc" 'URLSOurce

au lieu de :
oSource.URL = sdbc:calc:file:///001poste2/partage
document/TRAFIC/Banale_2005/TDB/NUM1.sxc 'URLSOurce

Jean-Claude

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



RE: [prog] Retour sur fonction CalcSQL2

2005-07-04 Thread Jean-Claude . David2
Bonjour,
Dans le code exemples ci joint, il faut remplacer "MaSource" par le nom de
ta source de données (elle s'appelait "ESSAI" au début dans tes codes
exemples), ce qui donne alors : 
Reponse = oContext.hasByName("ESSAI")

Jean-Claude

[...]
le probléme c'est que j'ai le message "source de données inconnue"
[...]
Reponse = oContext.hasByName("MaSource")
[...]

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



RE: [prog] boite de dialogue

2005-07-05 Thread Jean-Claude . David2
Bonjour,

[...]
Avec excel, j'avais la possibilité de remplir les champs de la boite de 
dialogue dés que je l'appelais avec les anciennes données inscrites dans 
les cellules sur la feuille excel ainsi l'utilisateur ne modifait qu'une 
ou deux données et validait.

Hors avec Open office je n'arrive pas a faire la meme chose.
est que c'est possible ou pas ?
[...]
Oui

[...]
et si oui comment ?
[...]
Comme ça, 

Sub Main
Dim oForm As Object
'Sur la 1ère feuille, accès au 1er formulaire (on peut le faire
également par les noms de feuille et formulaires)
oForm =
ThisComponent.Sheets.GetByIndex(0).DrawPage.Forms.GetByIndex(0)
'Accès au texte du controle nommé "MaTextBox" (on peut également le
faire par le N° de controle)
oForm.getByName("MaTextBox").Text = "Toto"
End Sub

Voili, voila
Jean-Claude

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



[prog] Boite de dialogue

2005-07-06 Thread DAVID, Jean-Claude

Bonjour,
A la relecture de ton message (et du mien), je crains d'avoir fait un 
léger "hors sujet" ;- Mon code correspond au remplissage d'une 
textbox d'un formulaire. Pour une boite de dialogue, c'est quasiment la 
même chose (code ci dessous)


Bon courage,
Jean-Claude

Sub Test
Dim oDialog As Variant 'Boite de dialogue de choix du fichier
   'Crée la Boite de dialogue
   oDialog = createUnoDialog(DialogLibraries.Standard._DlgSelFicXL)
   'Modifie le texte du controle nommé "FileCtrl"
   oDialog.Model.FileCtrl.Text = "Toto"
   'Affiche la Boite de dialogue
   oDialog.execute
'Referme la Boite de Dialogue
   oDialog.endExecute()
End Sub


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



Re: [prog] Boite de dialogue

2005-07-07 Thread DAVID, Jean-Claude

Bonjour,
La même macro, mais qui fonctione ;-)))

Attention, je crois que ton problème se situe au niveau des 
"Bibliothèques et Modules" : un classeur contient des bibliothèques 
(library), qui elles mêmes contiennent des modules VB, qui contiennent 
des macros.


Dans ton code, il est indiqué qu'il y a une bibliothèque "Standard" et 
une bibliothèque "Dialogue". Cette bibliothèque "dialogue" contiend un 
module (onglet) boite de dialogue nomé "Dialogue1"


Dans mon 2ème code, je suppose (ce qui est je crois le cas le plus 
fréquent, et - il me semble - le plus pratique) que le module de code et 
le module de boite de dialogue sont dans la même bibliothèque "Standard".


Bon courage,
Jean-Claude



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)

oBoiteDialogue.Model.TextField1.Text = "Toto"
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


Code en mettant les 2 modules (code et Boite de dialogue dans la même 
bibliothèque)

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
oBoiteDialogue = CreateUnoDialog( DialogLibraries.Standard.Dialogue)

oBoiteDialogue.Model.TextField1.Text = "Toto"
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

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



Re: [prog] execution d'une macro

2006-02-02 Thread DAVID, Jean-Claude
En groupe on est surement moins c... ;-)))  Je m'étais posé la même 
question, mais j'avais trouvé à l'époque un autre biais. Peux tu 
m'indiquer où dans la doc tu as trouvé ta réponse, et comment tu procédes.
Peut être également que l'on ne se pose pas exactement le même problème 
à résoudre.

D'avance, merci.
Jean-Claude


Oouuups,

je me réponds vite avant de recevoir RTFM ;-)

je viens de trouver la réponse dans la doc d'openoffice,
il faut passer par une fonction.

le rouge de la honte,

Gérard :-[


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



[prog] Problème d'assignation

2006-10-02 Thread Jean-Claude N'DOUNGA

Bonjour,

Voici une macro qui sert à afficher une boite de dialogue contenant un message.

 Sub Message
 Dim oDlgMessage As Object
 oDlgMessage = CreateUnoDialog(DialogLibraries.Standard.DLG_Message )
 oDlgMessage.execute() 
 oDlgMessage.dispose()
 End Sub 

Exécutée seule, cette macro fonctionne.
Mais assignée à l'ouverture d'un document, elle génère l'erreur suivante : 

 "Action non supportée. Appel de procédure incorrect. "
Que faire pour obtenir l'effet recherché à l'ouverture du document ?

Merci par avance. Cordialement.

Jean-Claude N'DOUNGA


Re: [prog] Problème d'assignation

2006-10-03 Thread Jean-Claude N'DOUNGA

Problème résolu.

Merci.

Jean-Claude


- Original Message - 
From: "Christine Brou" <[EMAIL PROTECTED]>

To: 
Sent: Tuesday, October 03, 2006 5:54 AM
Subject: Re: [prog] Problème d'assignation


Sub Message
   Dim oDlgMessage As Object
   DialogLibraries.LoadLibrary("Standard")   ' charger la bibliothèque
contenant le Dialog
   oDlgMessage = CreateUnoDialog(DialogLibraries.Standard.DLG_Message )
oDlgMessage.execute()
   oDlgMessage.dispose()
End Sub


Christine

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



[prog] Ajout d'un Numberformat en 2.0

2006-03-15 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
Bonjour,
J'ai développé une appli en 1.1 au printemps 2004 (je n'ai plus refait de
StarBasic depuis), et aujourd'hui je regarde la migration en 2.02.rc4 et je
tombe sur la 1ère erreur ;-)
Soit... après quelques essais divers infructeux, je reprends une macro
exemple originale qui va bien (généralement) sur l'ajout de formats de
nombres, d'Andrew PITONYAK, et o stupeur elle bugue egalement ;-(
Je l'exécute en 1.1.5, elle fonctionne correctement.
Bon, j'ai fait un pas en avant, ce n'est pas que mon code qui lève l'erreur
mais également celui d'Andrew ;-) ça reconforte, mais cela ne me fait pas
beaucoup progresser...
L'erreur est une com.sun.star.uno.RuntimeException sur la ligne addNew à la
fin de la macro
Ais je loupé des choses sur l'évolution de la programmation en 2.0 ?
Qulequ'un a t'il une piste à explorer ?

D'avance merci
JCD

Sub Test
Dim i as Integer
i = FindCreateNumberFormatStyle( "# ##0", ThisComponent)
MsgBox "i = '" & i & "'", sbOkOnly, Titre_Appli
End Sub

'Author: Andrew Pitonyak
'email:   [EMAIL PROTECTED] 
Function FindCreateNumberFormatStyle ( sFormat As String, Optional doc,
Optional locale)
  
Dim oDocument As Object
Dim aLocale As New com.sun.star.lang.Locale
Dim oFormats As Object
Dim formatNum As Long 

  oDocument = IIf(IsMissing(doc), ThisComponent, doc)
  oFormats = oDocument.getNumberFormats()
  
  'If you choose to query on types, you need to use the type 
  'com.sun.star.util.NumberFormat.DATE
  'I could set the locale from values stored at
  'http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt 
  'http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html 
  'I use a NULL locale and let it use what ever it likes.
  'First, see if the number format exists
  If ( Not IsMissing(locale)) Then
aLocale = locale
  End If

  formatNum = oFormats.queryKey (sFormat, aLocale, TRUE)
  MsgBox "Current Format number is " & formatNum
  'If the number format does not exist then add it
  If (formatNum = -1) Then
formatNum = oFormats.addNew(sFormat, aLocale)
If (formatNum = -1) Then formatNum = 0
MsgBox "New Format number is " & formatNum
  End If
  FindCreateNumberFormatStyle = formatNum 
End Function

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



RE: [prog] Ajout d'un Numberformat en 2.0

2006-03-15 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
Bon, je fais avancer mon Shmilblick...

En fait il apparait que c'est avec le getByKey que j'ai des problèmes. Vous
pouvez essayer le code ci dessous, qui indique que '# ##0' est différent de
'# ##0' !!!???... ;-

S1 est codé en dur comme '# ##0', S2 est affecté par le 3ème format de la
liste qui est égal à '# ##0'. Le test avec S1 ne fonctionne pas, celui avec
S2 fonctionne.

Une idée ?
JCD

Sub Test
Dim i as Integer
Dim NLS As New com.sun.star.lang.Locale
dim s1 as String 
dim s2 as String 
dim oFormats as Object 
dim oFormat as Object 

s1 = "# ##0"

oFormats = ThisComponent.getNumberFormats()
oFormat = oFormats.getByKey(3)
s2 = oFormat.FormatString()   

if (s1 <> s2) then
MsgBox "s1 <> s2 (S1 = '" & s1 & "', s2 = '" & s2 & "')",
sbOkOnly, Titre_Appli
MsgBox "oFormat.FormatString = " & oFormat.FormatString
MsgBox "oFormat.Locale.Language = " &
oFormat.Locale.Language
MsgBox "oFormat.Locale.Country = " & oFormat.Locale.Country
MsgBox "oFormat.Locale.Variant = " & oFormat.Locale.Variant
MsgBox "oFormat.Type = " & oFormat.Type '16 ==> Type =
"NUMBER"
MsgBox "oFormat.Comment = " & oFormat.Comment
else
MsgBox "s1 = s2 (S1 = '" & s1 & "', s2 = '" & s2 & "')"
end if

'Test 1 with s2 
i = oFormats.queryKey ( s2, NLS, TRUE)
MsgBox "With s2, i = '" & i & "'"

'Test with s1
NLS.Language = "fr"
NLS.Country = "FR"
i = oFormats.queryKey ( s1, NLS, TRUE)
MsgBox "With s1, i = '" & i & "'"

'Test 2 with s2 (with NLS Specified)
i = oFormats.queryKey ( s2, NLS, TRUE)
MsgBox "With s2, i = '" & i & "'"
End Sub

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



RE: [prog] Ajout d'un Numberformat en 2.0

2006-03-15 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
Argh, merci beaucoup. J'en étais rendu à me préparer une boucle pour
afficher le code ascii caractère par caractère de la chaîne... ;-))
Bon, ben j'ai quand même perdu pas mal de temps avec ce p de séparateur
de milliers qui a donc changé en la V.1 et la V2.
A tous les deux on arrivera peut être à faire une perruque avec le tas au
pied du bureau ;-D

JCD

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



RE: [prog] impossible de faire un update dans base via macro

2006-04-06 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
Bonjour,
A) Vous utilisez une Boite de dialogue ou un formulaire ?
B) En ce qui me concerne, j'avais fait une application de saisie avec
formulaire en Ooo V1.1 et je faisais simplement un UpdateRow sur ma
référence au formulaire de saisie oForm, ce qui provoquait la mise à jour de
la BdD :

oForm = ThisComponent.DrawPage.Forms.GetByName("Saisie_totale")
oForm.UpdateRow

C) Sinon, il y a toujours la possibilité d'envoyer une requête UPDATE
directement à la BdD

Jean-Claude DAVID

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



RE: [prog] impossible de faire un update dans base via macro

2006-04-06 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
Une Base de Données ne verrouille pas un enregistrement si on ne lui demande
pas explicitement.

Si c'est une boite de dialogue remplie par une requête SELECT, cette requête
ne peut pas mettre à jour la BdD.

Pour ma part, pour chaque ligne, je ferais quelque chose du type (je n'ai
pas vérifié la syntaxe) :

strSQL = "UPDATE signataires SET " & resuQuery.columns(0).Name & " = " &
tabSignataires(monrow, 0) & ", " & resuQuery.columns(1).Name & " = " &
tabSignataires(monrow, 1) & ...  & " WHERE ID_signataires = " &
ID_signataires
'Création de la requête
oStatement = oCon.CreateStatement()
'Exécution de la requête
Retour = oStatement.executeUpdate(strSQL)

Envoye ton fichier en M.P. si tu souhaites que j'y jette un coup d'oeil.

Jean-Claude DAVID

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



RE: [prog] impossible de faire un update dans base via macro - s uite

2006-04-06 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
Dans la documentation de l'interface "XStatement" (que retourne
ExecuteQuery) il est précisé : "is used for executing a static SQL
statement", on serait donc sur un ResultSet statique et pas dynamique. 

A mon avis, il faut donc passer par des Update pour effectuer des mises à
jour.

Ou alors il faut utiliser un "XResultSetUpdate" qui lui "provides the
possiblity to write changes made on a result set back to database." par un
UpdateRow

Jean-Claude

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



RE: [prog] PB mise à jour de base de do nnée BASE

2006-04-12 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
En mode saisie, est-ce que les modifications sont bien prises en compte,
même si Ooo est fermé puis réouvert ?

Jean-Claude

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



RE: [prog] Base HSQL, ordre des champs dans une table

2006-05-11 Thread DAVID Jean-Claude - CETE Ouest/DU/AEH
>Maintenant je veux modifier sa structure en rajoutant un
>champs que je veux placer en première position dans la liste des champs.
>En Utilisant les fonctionnalités de Base, je n'y arrive pas.

Dans le fichier Base de Données, sélectionner dans la liste des Tables la
table souhaitée, clic droit : "Modifier".
Sélectionner la ligne d'un champ de la table, clic droit : "Insérer".

Le champ est inséré en dernier, mais ceci n'a aucune importance. L'ordre des
champs dans une table n'implique en aucun cas celui d'affichage dans un
formulaire de saisie ou dans une requête.

>Avec une requête SQL, il semble que le insert into ne fonctionne pas non
>plus.

Le "Insert Into" ne peut insérer que des données dans une table, pas des
champs.

Jean-Claude

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