Fchris
XLDnaute Occasionnel
Bonjour à tous,
Je viens vers vous afin de tenter de résoudre une problématique qui se pose à moi.
Dans le fichier joint, deux onglets. Le premier, "base simple" sont les données brutes telles que je les reçois.
Colonne B nommée Matricule, colonne D nommée Dates. J'ai autant de ligne par matricule que d'interventions réalisées.
J'ai créé un second onglet "Filtre", sans doublon de matricules. La formule matricielle suivante
{=SOMME(SI(Matricule=$B2;1/NB.SI.ENS(Matricule;$B2;Dates;Dates)))}
me permet d'obtenir le nombre de jours réels d'intervention. Plusieurs intervention le même jour = 1 jour d'intervention.
Pour des besoins d'automatisation des traitements, j'ai besoin de retranscrire tout ceci sous vba.
J'ai tenté de la façon suivante, mais sans résultat :
Sub Macro1()
Dim Mat As Range
Dim Dt As Range
Set Mat = Range("B1:B574")
Set Dt = Range("F1:F574")
Range("E2").Value = Application.WorksheetFunction.SumIfs(Mat = Range("B2"), 1 / (Application.WorksheetFunction.CountIfs(Mat, Range("B2"), Dt, Dt)))
End Sub
Merci par avance de votre aide.
Je viens vers vous afin de tenter de résoudre une problématique qui se pose à moi.
Dans le fichier joint, deux onglets. Le premier, "base simple" sont les données brutes telles que je les reçois.
Colonne B nommée Matricule, colonne D nommée Dates. J'ai autant de ligne par matricule que d'interventions réalisées.
J'ai créé un second onglet "Filtre", sans doublon de matricules. La formule matricielle suivante
{=SOMME(SI(Matricule=$B2;1/NB.SI.ENS(Matricule;$B2;Dates;Dates)))}
me permet d'obtenir le nombre de jours réels d'intervention. Plusieurs intervention le même jour = 1 jour d'intervention.
Pour des besoins d'automatisation des traitements, j'ai besoin de retranscrire tout ceci sous vba.
J'ai tenté de la façon suivante, mais sans résultat :
Sub Macro1()
Dim Mat As Range
Dim Dt As Range
Set Mat = Range("B1:B574")
Set Dt = Range("F1:F574")
Range("E2").Value = Application.WorksheetFunction.SumIfs(Mat = Range("B2"), 1 / (Application.WorksheetFunction.CountIfs(Mat, Range("B2"), Dt, Dt)))
End Sub
Merci par avance de votre aide.