bonjour à tous,
une proposition via une fonction personnalisée. à utiliser dans une cellule comme une fonction excel standard (exemple dans le fichier joint)
=sommemerefille(plagemere,plagefille,plagevaleur,mere)
pour l'explication des paramètres voir le code ci-dessous :
Function sommemerefille(plagemere, plagefille, plagevaleur, mere)
'fonction personnalisée permettant de faire une somme de valeur selon une arborescence
'plagemere : plage des noeuds mères de l'arborescence
'plagefille : plage des noeuds filles de l'arborescence
'plagevaleur : plage des valeurs associées à la plage fille dont on souhaite faire la somme
'mere : noeud de base pour lequel on souhaite la somme
'fonction récursive
'il ne peut pas y avoir de boucle dans l'arborescence
somme = 0
For i = 1 To plagemere.Rows.Count
If plagemere(i, 1) = mere Then
somme = somme + sommemerefille(plagemere, plagefille, plagevaleur, plagefille(i, 1))
End If
If plagefille(i, 1) = mere Then
somme = somme + plagevaleur(i, 1)
End If
Next i
sommemerefille = somme
End Function