La modération vous a écrit: "macro" est inutile dans un titre puisque vous êtes dans la section... Macro.
Veillez à ne pas employer de terme implicite à l'avenir.
Bonjour à tous,
ma demande va certainement sembler simpliste, et d'aucuns me diront d'effectuer des recherche (ce que j'ai déjà fait !), mais je souhaite transformer un tableau rempli de fonction NB.SI et NB.SI.ENS, en quelque chose de plus léger à l'aide de macro.
J'ai donc lu et relu la manière d'utiliser d'appeler les fonctions en macro, mais je bloque dès le début. J'ai systématiquement le message "erreur de parenthèse".
J'ai essayé d'utiliser une méthode empirique pour arriver à mes fins, mes cela n'a fait qu'empirer !
Voici donc le code que j'ai pour le moment.
Code : Tout sélectionner
Option Explicit
Option VBASupport 1
'Déclaration de variables communes à toutes les bibliothèques
Global MonDocument As Object
Global LesFeuilles As Object
Global MaFeuille As Object
Global MaFeuille_Fiche_SEI As Object
Global MaFeuille_Statistiques As Object
Global MaCellule As Object
Global MonCurseur As Object
Global MaColonne As Object
Global MaLigne As Object
Global MaZone As Object
Global Bibli As Object
Global Dlg As Object
Global MonDialogue As Object
Global Fonction1 As Object
Global Fonction2 As Object
Global Service As String
Global Villa As String
Global Declarant As String
Global Categorie As String
Global Evenement As String
Global Date1 As Date
Global Date2 As Date
Global Fiche_Service As Long
Global Fiche_Villa As Long
Global Fiche_Declarant As Long
Global Fiche_Categorie As Long
Global Fiche_Evenement As Long
Global MaZone_Service As Object
Global MaZone_Villa As Object
Global MaZone_Declarant As Object
Global MaZone_Categorie As Object
Global MaZone_Evenement As Object
Sub Statistiques
MonDocument = thisComponent
LesFeuilles = MonDocument.Sheets
MaFeuille_Fiche_SEI = LesFeuilles.GetByName("SUIVI FICHE SEI")
MaFeuille_Statistiques = LesFeuilles.GetByName("STATISTIQUES")
MaZone_Service = MaFeuille_Fiche_SEI.GetCellRangeByName("C3:C1000")
MaCellule = MaFeuille_Statistiques.GetCellRangeByName("A2")
Dim OAccess As Object
OAccess = CreateUnoService("com.sun.star.sheet.FunctionAccess")
Fonction1 = OAccess.callFunction("COUNT.IF")
Fiche_Service = Fonction1(MaZone_Service;MaCellule)
Msgbox(Fiche_Service)
End Sub
Amicalement