Bonjour,
J'ai le code suivant dans un module :
Function FxCs(col1 As Integer, col2 As Integer, b As Integer)
Application.Volatile True
Dim i As Integer
Dim a As Integer
Dim c As Integer
c = 0
For i = col1 To col2 - 1
If Cells(b, i + 1).Value = Cells(b, i).Value _
And Cells(b, i).Value <> "" Then
a = a + 1
Else
a = 0
End If
If a = 4 Then
c = c + 1
a = 0
i = i + 1
End If
Next
If c <> 0 Then
GoTo sortie
End If
FxCs = 0
Exit Function
sortie: FxCs = c
End Function
Sub FxCs2()
Call FxCs(1, 18, 2)
End Sub
Ce code a pour objectif de compter le nombre de fois (sur une page ligne définie) au 5 valeurs sont consécutives.
J'appelle la fonctionne comme suit : = FxCs(3;33;LIGNE())
3;33 est ma plage :
3 = commence à compter à partir de la 3eme colonne en partant de la gauche
33 = commence à compter à partir de la 33eme colonne en partant de la gauche
Ce code fonctionne très bien pour mon 1er onglet, mais dès que je mets ma formule dans d'autres onglets de mon classeur Excel, les résultats retournés sont faux. J'ai l'impression que la fonction calcule sur tous les onglets
(
Aussi, je voudrais que lorsque je l'appelle (ie : FxCs(3;33;LIGNE())) cela ne calcule que sur les cellules de l'onglet dans lequel la fonction est appelée. Ceci afin de pouvoir faire mes calculs onglet / onglet sans interrraction entre eux.
En remerciant d'avance tout ceux qui pourront m'aider.