10 Apr 20:40
Function utilisant comme variables de plages de cellules
From: Rémi B <rboulle <at> free.fr>
Subject: Function utilisant comme variables de plages de cellules
Newsgroups: gmane.comp.openoffice.devel.french
Date: 2008-04-10 18:41:39 GMT
Expires: This article expires on 2008-04-24
Subject: Function utilisant comme variables de plages de cellules
Newsgroups: gmane.comp.openoffice.devel.french
Date: 2008-04-10 18:41:39 GMT
Expires: This article expires on 2008-04-24
Bonjour, Je m'arrache un peu les cheveux avec ma fonction... Je souhaite faire une fonction Basic qui calcule une moyenne pondérée. Facile, la moyenne pondérée ! Il suffit de multiplier le coef par la note, d'ajouter le tout et de diviser par la somme des coefficients. C'est vrai... Sauf si une cellule devant contenir la note est vide ou contient du texte (absent par exple). Ce "problème" se résout avec une base de SI(ESTNUM();;). L'objectif ici est de créer une fonction faisant cela qui prendrait en argument des plages de cellules définies par l'utilisateur pour quelque chose comme =MOYPOND(A1:C1;A2:C2) avec en premier les coeff et en deuxième les notes. Je précise que ce ne sera pas toujours A1:C1, cela peut être aussi autre chose suivant l'utilisateur. Tout mon problème consiste en la définition de cette fonction et donc récupération des données de chaque zone de cellule dans un tableau (je pense que c'est la bonne méthode ?). J'ai testé : Function MoyPond(plage_coeff as new com.sun.star.sheet.XCellRangeData, plage_notes as new com.sun.star.sheet.XCellRangeData) as Single plage_coeff.getDataArray() me renvoie une erreur Le code suivant fonctionne :(Continue reading)
En fait, le test simple qui détermine le caractère de viditude :-D
sera du genre :
oCell = oSheet.getCellRangebyName("B10")
if oCell.Type = com.sun.star.table.CellContentType.EMPTY then
msgbox "cellule vide"
else
msgbox "cellule non vide"
endif
A consulter un exemple (page 129) sur le Guide de programmation de
StarOffice 8 pour BASIC ici :
RSS Feed