bonjour
essayer ca
Function resx(Optional nom_feuill As String)
Application.Volatile
Dim counter As Integer
Dim i As Integer
Dim sem_arry
Dim store As Integer
Dim l, p
sem_arry = Array("Abat-Neuf", "Sem.01", "Sem.02", "Sem.03", "Sem.04", "Sem.05", "Sem.06", "Sem.07", "Sem.08", "Sem.09", "Sem.10", _
"Sem.11", "Sem.12", "Sem.13", "Sem.14", "Sem.15", "Sem.16", "Sem.17", "Sem.18", "Sem.19", "Sem.20", _
"Sem.21", "Sem.22", "Sem.23", "Sem.24", "Sem.25", "Sem.26", "Sem.27", "Sem.28", "Sem.29", "Sem.30", _
"Sem.31", "Sem.32", "Sem.33", "Sem.34", "Sem.35", "Sem.36", "Sem.37", "Sem.38", "Sem.39", "Sem.40", _
"Sem.41", "Sem.42", "Sem.43", "Sem.44", "Sem.45")
counter = 0
l = Application.Caller.Row
p = Application.Caller.Parent.Name
If Not p = "Abat-Neuf" Then
i = Val(Mid(p, 5)) - 1
store = Worksheets(p).Range("N" & l).Value
If store > 0 Then
Do Until Worksheets(sem_arry(i)).Range("N" & l).Value > 0
If Worksheets(sem_arry(i)).Range("H" & l).Value = "x" Then
counter = counter + 1
End If
i = i - 1
If i < 0 Then Exit Do
Loop
End If
If counter > 0 Then
resx = Format(Worksheets("Données").Range("X" & 12).Value * counter, "$0.00")
ElseIf counter = 0 Then
resx = ""
End If
End If 'If Not p = "Abat-Neuf" Then
End Function
puis mettre en colonne AE de chaque feuille ( ou Fx >>> fonction personnalisé>>> resx)
=resx()