Bonjour à tous !

j'ai besoin de votre aide pour une fonction somme qui me faciliterait la vie dans le traitement de données.

Je vous décris la fonction:

Elle devrait comporter deux variables : une cellule (titre) et une plage.

La fonction doit

- trouver la cellule qui contient le titre (en texte) dans la plage séléctionnée.

- effectuer la somme des chiffres contenus juste sous le titre séléctionné (en colonne)

-s'arrêter à la première cellule vide


J'ai commencé à travailler dessus :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Function SumUnderTitle(title As Range, plage As Range)
 
Dim tmp(), x As Long, a As Long, b As Long, ret() As Double, iSum As Double
 
with plage
 
Set c = .Find(title, LookIn:=xlValue)
 
tmp() = Range(c.Offset(1, 0), c.Offset(1, 0).End(xlDown))
 
a = LBound(tmp): b = UBound(tmp)
 
ReDim ret(a To b + 1, 1 To 1)
 
 
For x = a To b
If tmp(x, 1) <> " " Then
iSum = iSum + tmp(x, 1)
Else: ret(x, 1) = iSum
 
End If
Next
 
End Function
c'est un premier jet ! Il comporte sûrement beaucoup d'erreurs.

Merci d'avance pour votre aide !