NB.SI en 3D

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
MarcT
Fraîchement OOthentifié
Messages : 2
Inscription : 20 févr. 2006 14:18

NB.SI en 3D

Message par MarcT »

Bonjour à tous,
j'utilise la version 2.0.1
je commence à migrer d'excel vers OOO que je trouve absolument génial.
je rencontre qq difficultés (j'imagine que vous vous en doutez !!)
de manière générale sur les macros mais je pense que je reviendrais en parler. Pour l'instant, j'avais une fonction rajouter sur Excel qui me permettait d'utiliser la fonction NB.SI sur plusieurs feuilles. je n'y arrive pas avec OOO
merci de votre aide
Marc T
MichelXld
Membre OOrganisé
Membre OOrganisé
Messages : 66
Inscription : 10 janv. 2006 21:33

Message par MichelXld »

bonsoir

tu pourrais tester une fonction personnalisée de ce type

Code : Tout sélectionner

Function FONCTION3D(Debut As String, Fin As String , Plage As String ,Critere )As Long
Dim i As Integer , j As Integer , X As Integer
Dim appelFonction As Object

FONCTION3D = 0

i = ThisComponent.Sheets.getByName(Debut).getCellRangeByName("A1").cellAddress.Sheet
j= ThisComponent.Sheets.getByName(Fin).getCellRangeByName("A1").cellAddress.Sheet

For X = i To J
Feuille = ThisComponent.getSheets.getByIndex( X ) 
appelFonction = createUnoService("com.sun.star.sheet.FunctionAccess") 

FONCTION3D = FONCTION3D + _
appelFonction.callFunction("CountIf", Array( Feuille.getCellRangeByName(Plage) , Critere ))
Next X

End Function

et dans ta cellule tu saisies la fonction

Code : Tout sélectionner

=FONCTION3D("Feuille1";"Feuille3";"A1:A10";"MotCle")

cet exemple ne gère pas les messages d'erreur en cas de saisie erronée


bonne soiree
michel
OOo 2.1 & WinXP(sp2)
MarcT
Fraîchement OOthentifié
Messages : 2
Inscription : 20 févr. 2006 14:18

Message par MarcT »

Bonjour Michel,
merci pour ta réponse,
j'ai quand j'active la macro un message d'erreur ... mais j'arrive également à faire fonctionner la fonction dans la feuille, par contre celle ci n,'est pas automatisé (je dois lancer fonction à chaque fois que je fais des modifs sur les feuilles) est-ce normal et y a t'il une méthode pour que ça calcul tt seul.
bonne journée
amicordialement
Marc