[Résolu][Calc] Erreur dans l'appel de certaines fonctions

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur: Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !

[Résolu][Calc] Erreur dans l'appel de certaines fonctions

Messagepar Gaby-Jo » 14 Oct 2020 16:49


La modération vous a écrit: Calc est inutile dans le titre puisqu'il y a déjà une balise [Calc] et titre complété.


Bonjour,
L'appel de certaines fonctions CALC (SUM, MIN, COUNTBLANK par exemple) fonctionne bien.
Code : Tout sélectionner   AgrandirRéduire
MsgBox "Somme F2:F5 =     " & oFonction.callFunction("SUM", Array(Feuille.getCellRangeByName("F2:F15")))
MsgBox "Mini E2:E15 =     " & oFonction.callFunction("MIN", Array(Feuille.getCellRangeByName("E2:E15")))   
MsgBox "Nb vides C2:C15 =     " & oFonction.callFunction("COUNTBLANK", Array(Feuille.getCellRangeByName("C2:C15")))


L'appel des fonctions CALC commençant par EST (IS) provoque une erreur, code ci-dessous.
Code : Tout sélectionner   AgrandirRéduire
MsgBox oFonction.callFunction("ISNONTEXT", Array(Feuille.getCellRangeByName("E2")))
MsgBox oFonction.callFunction("ISFORMULA", Array(Feuille.getCellRangeByName("C2:C3")))
MsgBox oFonction.callFunction("ISNUMBER", Array(Feuille.getCellRangeByName("E2:E15")))
MsgBox oFonction.callFunction("ISTEXT", Array(Feuille.getCellRangeByName("A2:A15")))
MsgBox oFonction.callFunction("ISBLANK", Array(Feuille.getCellRangeByName("D2:D15")))
MsgBox oFonction.callFunction("ISNONTEXT", Array(Feuille.getCellRangeByName("E2:F15")))


Je joins un classeur, merci d'avance pour votre aide et bonne fin de journée.
Gaby-Jo
LibreOffice 6.4.6.2 (64)
Windows 7 Pro (64)
Pièces jointes
Appel fonctions calc.ods
(25.76 Kio) Téléchargé 3 fois
Dernière édition par micmac le 21 Oct 2020 10:04, édité 1 fois.
Raison: Balisage dans le premier message
LibreOffice Stable 6.4.6.2 et Windows 7 Pro x 64
Gaby-Jo
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 12
Inscrit le : 12 Jan 2016 10:50

Re: [Calc] Erreur dans l'appel de cerraines fonctions

Messagepar Gaby-Jo » 15 Oct 2020 08:16

Bonjour,

Je précise que le message d'erreur indique " Variable d'objet non définie "
Merci pour votre aide et bonne journée.
Gaby-JO
Pièces jointes
Capture Erreur appel fonction CALC.JPG
LibreOffice Stable 6.4.6.2 et Windows 7 Pro x 64
Gaby-Jo
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 12
Inscrit le : 12 Jan 2016 10:50

Re: [Calc] Erreur dans l'appel de cerraines fonctions

Messagepar Dude » 15 Oct 2020 09:53

Salut,

Tu devrais utiliser XRay pour savoir ce que renvoie :
Code : Tout sélectionner   AgrandirRéduire
Feuille.getCellRangeByName("E2")

Et lire la documentation pour voir que ISNONTEXT attend juste une valeur et pas une structure.

Mais si tu récupères cette structure com.sun.star.table.XCell, tu as déjà ces informations avec les propriétés String et Value.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21943
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc] Erreur dans l'appel de certaines fonctions

Messagepar Gaby-Jo » 16 Oct 2020 05:42

Bonjour,
Merci à Dude pour sa réponse mais je n'avance pas.
Tu devrais utiliser XRay pour savoir ce que renvoie :
Feuille.getCellRangeByName("E2")

Il y en a 3 pages dans un document Writer, je me noie...:fou:

J'ai besoin de savoir si la plage de cellules (D2:D15) dans le classeur contient des données d’où l'idée d'appeler des fonctions CALC.
A ce stade de mes connaissances, je peux tester avec l'appel de la fonction NB.VAL sur la plage D1:D15 :
Code : Tout sélectionner   AgrandirRéduire
MsgBox oFonction.callFunction("COUNTA", Array(Feuille.getCellRangeByName("D1:D15")))

Qui renverra 1 donc la plage est D2:D15 est vide. Mais j'aimerais savoir comment appeler une de ces fonctions ISFORMULA, ISNUMBER, ISTEXT, ISBLANK, ISNONTEXT . Merci pour l'aide.
Bonne journée
Gaby-Jo
LibreOffice Stable 6.4.6.2 et Windows 7 Pro x 64
Gaby-Jo
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 12
Inscrit le : 12 Jan 2016 10:50

Re: [Calc] Erreur dans l'appel de certaines fonctions

Messagepar Dude » 16 Oct 2020 10:00

Gaby-Jo a écrit:J'ai besoin de savoir si la plage de cellules (D2:D15) dans le classeur contient des données

Problème XY
Le plus simple est d'utiliser les méthodes queryContentCells et queryEmptyCells.
Il y en a moult exemples dans le forum.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21943
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc] Erreur dans l'appel de certaines fonctions

Messagepar Gaby-Jo » 16 Oct 2020 11:14

Merci Dude, je regarde cela en début de semaine.
Bon week-end
Gaby-Jo
LibreOffice Stable 6.4.6.2 et Windows 7 Pro x 64
Gaby-Jo
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 12
Inscrit le : 12 Jan 2016 10:50

Re: [Résolu] [Calc] Erreur dans l'appel de certaines fonctio

Messagepar Gaby-Jo » 21 Oct 2020 09:29

Bonjour,
Suite au rebond de la Covid-19, pas encore trouvé une minute, je note le sujet résolu.
Bonne journée
Baby-Jo
LibreOffice Stable 6.4.6.2 et Windows 7 Pro x 64
Gaby-Jo
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 12
Inscrit le : 12 Jan 2016 10:50


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 5 invité(s)