Chers Ooo programeeurs :)
je vous fais part d'un mail que j'ai une sur una autre liste qui concerne
l'utilisaiton des macros openoffice.
------------------------------------
Bonjour,
Puisque nous en sommes à comparer les mérites respectifs des openoffice vs
ms office.
J'ai une question à poser.
Utilisateur d'excel depuis les toutes premières versions j'ai été épouvanté
par office 2007 et particulièrement sa version d'excel qui a réussi à rendre
un programme que je connaissais plutôt bien en un bazar incompréhensible.
Au bout d'une heure j'ai remis mon excel XP.
Mais cela m'a décidé à faire un essai de calc d'openoffice, quitte à
réécrire les centaines de lignes de macro que j'avais pour excel.
Il s'agit pour la plupart de fonctions servant à des calculs astro.
Le basic est assez semblable à celui de microsoft et on peut presque
copier/coller les fonctions.
Par contre au début de la macro j'ai une sous routine (Sub - End Sub) qui
lit entre autres les coefficients planetaires (c'est à dire les 2430 lignes
à la fin du bouquin de J. Meeus) sur le disque et les envoie dans une table.
Voir ci-dessous.
Le problème est que ces variables ne sont pas accessibles par une macro
fonction ex function Planet(JourJulie,VENUS) ..... End Function
Elles sont remises à zéro.
Si j'incorpore mon calcul de planète à la routine Sub INIT çà marche, mais
je veux pouvoir utiliser ces paramètres dans différentes macro fonctions
sans devoir à chaque fois les reprendre sur le disque
J'ai essayé les options Static, Public etc .. mais je n'arrive à rien.
Avec le Visual Basic de M$ aucun problème !
Parmi tous nos fans d'openoffice quelqu'un aurait-il une idée ?
Comme le sujet risque de ne pas passionner grand monde, mieux vaut sans
doute répondre en privé.
Luc
Dim TP(1 To 2430, 1 To 3) As Double
Dim TNDX(1 To 19, 1 To 8) As Integer
Dim TL(1 To 1324, 1 To 3) As Double
Dim TLB(1 To 560, 1 To 3) As Double
Dim TABTD(1 To 196, 1 To 2) As Double
Dim TCON(1 To 358, 1 To 4) As Variant
'Remplissage des tables à l'ouverture de la Macro
Sub INIT
Open "C:\ASTROPAR.DAT" For input Access Read As 1
For i = 1 To 2430
For j = 1 To 3
input #1, , TP(i, j)
Next j
Next i
For i = 1 To 19
For j = 1 To 8
input #1, , TNDX(i, j)
Next j
Next i
For i = 1 To 1324
For j = 1 To 3
input #1, , TL(i, j)
Next j
Next i
For i = 1 To 560
For j = 1 To 3
input #1, , TLB(i, j)
Next j
Next i
For i = 1 To 196
For j = 1 To 2
input #1, , TABTD(i, j)
Next j
Next i
For i = 1 To 358
For j = 1 To 4
input #1, , TCON(i, j)
Next j
Next i
Close #1
End Sub
--------------------------------------------
vous comprenez la question sans doutes mieux que moi :) j'ai cru comprendre
un pb de déclaration et d'espace de nommage.
Comment faire pour répondre à sa problématique ?
Merci d'avance !
ciels clairs.
JB
--
http://astrolix.org
association des linuxiens astronomes