Je cherche à faire une somme de symbole dont les valeurs se trouvent dans un autre onglet.
J’ai donc dans la première page
A B C A B
dans la seconde
A 1
B 2
C 0
je veux faire la somme de ce que représente A B C A B par rapport aux valeurs inscrites dans l’autre page (soit 1+2+0+1+2)
Je ne peux pas faire un somme.si puisque l’équivalent des valeurs n’est pas indiqué à côté de ces dernière et une formule du style
Si tu n’as pas les cellules correspondantes, tu peux faire la somme en VBA en créant une fonction personnalisée :
par exemple
Function recherchevmat(source As Range, table As Range, colindex As Integer)
recherchevmat = 0
For Each sourcecell In source
recherchevmat = recherchevmat + table.Columns(1).Find(sourcecell, LookIn:=xlValues).Offset(0, colindex - 1)
Next
End Function
la formule à rentrer dans la cellule serait alors du genre =recherchevmat(A1:A5;Feuil2!$A$1:$B$3;2)
Merci bcp gcc, effectivement cela marche tout à fait comme voulu…
Toutefois, au risque de faire mon pénible, ce besoin est destiné à une feuille excel partagée entre plusieurs personnes et même si je créé la fonction personnalisé, est il possible de “l’attacher” au fichier excel ? est ce qu’alors tous les utilisateurs devrons choisir explicitement d’utiliser la fonction personnalisé pour voir les valeurs (à la place d’un message type #NOM? sur les cellules ?)
C’est pour cela que j’étais parti sur un non utilisation de macro, mais cela vient aussi peut être de mon manque d’expertise sur le sujet, et si quelqu’un peut m’éclairer, je suis preneur
En principe, on écrit ce genre de fonction dans un module du classeur lui-même.
Donc elles sont disponibles à tout utilisateur, à condition quand même qu’il n’ait n’ait pas interdit l’exécution des macros dans la configuration de son excel local.