Calc macro

Bonjour,

Je viens de passer à la version 5.4.5.1.
J'ai une macro avec l'instruction suivante qui fonctionnait depuis des mois (voire plusieurs années)
              cellule = FeuilleEnCours.getCellRangeByName("mois"&i)
Avec la nouvelle version, elle provoque un runtime exception

J'ai testé la même instruction avec getcellrangebyposition et les coordonnées de la cellule nommée et cela fonctionne.

La plage est un plage globale. Pour le moment, je triche en récupérant les coordonnées de la plage nommée dans la collections des plage nommées du document.

Mais si quelqu'un avait une idée cela me permettrait de revenir à un code plus sobre.

Merci par avance

Claude

Pour une administration exemplaire, préservons l'environnement.
N'imprimons que si nécessaire.

Bonjour,

1. Que dit le message d'erreur ?

2. Bien entendu la plage "mois1" (lorsque i vaut 1) existe ?

3. Si vous écrivez ceci :
NomPlage = "mois" & i
cellule = FeuilleEnCours.getCellRangeByName(NomPlage)

et que vous posez un témoin sur cette variable NomPlage, voyez-vous la valeur attendue ?

4. Avez-vous essayé de remplacer le transtypage implicite en transtypage explicite :
cellule = FeuilleEnCours.getCellRangeByName("mois" & CStr(i))

D'une manière générale, je me méfie des transtypages implicites...

Très cordialement,

Re-bonjour,

1 - Le message d'erreur est
/"Erreur d'exécution BASIC.
Une exception s'est produite : Type: com.sun.star.uno.RuntimeException
Message: ."/

2- la plage existe bien et j'arrive à la traiter en la recherchant via la collection des plages nommées

3- j'ai testé et la réponse est oui

4 - Je n'ai pas testé mais même en mettant le nom "en dur" cela ne fonctionne pas non plus.

Quelque soit la suite, merci d'essayer de m'aider car c'est une fonctionnalité que j'utilise beaucoup et je vais devoir corriger toutes les macros où elle figure.

Claude

Pour une administration exemplaire, préservons l'environnement.
N'imprimons que si nécessaire.

-------- Message original --------
*Sujet: *[INTERNET] Re: [fr-users] Calc macro
*Pour : *PREF31 Libreoffice <pref-open-office@haute-garonne.gouv.fr>
*Copie à : *libreoffice <users@fr.libreoffice.org>

bonjour,

j'aurais essayé avec une version + récente (dernière stable) - quitte à
essayer avec une version portable si tu veux pas l'installer.
et aussi vérifier si "feuilleencours" existe bien....

Yves

re-bonjour

"feuilleencours" existe bien.

Je peux essayer avec une version récente mais pas sur mon poste de travail et de toute façon c'est avec la version qui est installée que je dois trouver une solution.

Comme évoqué dans mon premier mail pour le moment je récupère les coordonnées de la plage en passant par la collection des plages nommées et en faisant un getCellRangeByPosition qui fonctionne

merci quand même

Claude

Pour une administration exemplaire, préservons l'environnement.
N'imprimons que si nécessaire.

-------- Message original --------
*Sujet: *[INTERNET] Re: [fr-users] Calc macro
*Pour : *PREF31 Libreoffice <pref-open-office@haute-garonne.gouv.fr>
*Copie à : *libreoffice <users@fr.libreoffice.org>

oui, mais si c'est un bug de ta version bien précise... on pourra rien
faire :-/

Raison pour laquelle je demandais de tester avec une autre version...
si doc pas confidentiel, envoie le moi à mon adresse perso, je ferais le
test avec +sieurs versions :wink:

Yves

Bonjour Claude,

J'ai téléchargé la version 5.4.5.1 (Windows 32b), et testé cette instruction
particulièrement courante !
Aucune erreur, ça marche ...

Peux-tu tester avec ma mini macro pour voir si tu as le même problème et si
j'ai bien testé ce qu'il faut:
https://framadrop.org/r/m7nqOaVeXR#jQjk4pZjtsU4knpCI3X+FmzUxpAD3Ahw6ocjX1BFH
NE=

Cordialement,

Michel RUDELLE

Bonjour,

Cette macro plante aussi; Nous dirons donc que c'est ma version qui pose problème.

Merci à tous pour l'aide apportée.

Claude

Pour une administration exemplaire, préservons l'environnement.
N'imprimons que si nécessaire.

-------- Message original --------
*Sujet: *[INTERNET] RE: Re: [fr-users] Calc macro
*Pour : *'PREF31 Libreoffice' <pref-open-office@haute-garonne.gouv.fr>
*Copie à : *"'libreoffice'" <users@fr.libreoffice.org>

Bonjour,

S'agit il de la version de libreoffice de mimo ou de tdf ?

Bonne soirée

Bonjour

Vérifier que Outils> Options> Calc> Formule> Syntaxe> Calc A1 est bien
sélectionnée.

Le symptôme décrit laisse penser que le paramètre courant utilise la syntaxe
excel.

Cordialement
Pierre-Yves

Bonjour,

Bingo !!!!
Merci à toi et merci à tous ceux qui avaient planché sur le sujet

Bonne journée
Claude

Pour une administration exemplaire, préservons l'environnement.
N'imprimons que si nécessaire.

-------- Message original --------
*Sujet: *[INTERNET] Re: RE: Re: [fr-users] Calc macro
*Pour : *users@fr.libreoffice.org