[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 !
Gaby-Jo
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 12 janv. 2016 09:50
Localisation : Euskal Herria

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

Message par Gaby-Jo »


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

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

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)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 21 oct. 2020 09:04, modifié 1 fois.
Raison : Balisage dans le premier message
LibreOffice Stable 7.6.6.3 et Windows 10 Pro 22H2 19045.4291 64 Bits
Gaby-Jo
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 12 janv. 2016 09:50
Localisation : Euskal Herria

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

Message par Gaby-Jo »

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
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice Stable 7.6.6.3 et Windows 10 Pro 22H2 19045.4291 64 Bits
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25181
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

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

Message par Dude »

Salut,

Tu devrais utiliser XRay pour savoir ce que renvoie :

Code : Tout sélectionner

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.
Gaby-Jo
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 12 janv. 2016 09:50
Localisation : Euskal Herria

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

Message par Gaby-Jo »

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

 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 7.6.6.3 et Windows 10 Pro 22H2 19045.4291 64 Bits
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25181
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

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

Message par Dude »

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.
Gaby-Jo
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 12 janv. 2016 09:50
Localisation : Euskal Herria

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

Message par Gaby-Jo »

Merci Dude, je regarde cela en début de semaine.
Bon week-end
Gaby-Jo
LibreOffice Stable 7.6.6.3 et Windows 10 Pro 22H2 19045.4291 64 Bits
Gaby-Jo
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 12 janv. 2016 09:50
Localisation : Euskal Herria

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

Message par Gaby-Jo »

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 7.6.6.3 et Windows 10 Pro 22H2 19045.4291 64 Bits