Problème formule VBA

Enaxor18 Messages postés 31 Statut Membre -  
Enaxor18 Messages postés 31 Statut Membre -
Hello à tous !

Je viens de reprendre une macro que j'ai réalisée grâce à votre aide il y a un moment.

Je souhaite la faire évoluer, mais le code n'a pas l'air de fonctionner. (J'ai "quelques" notions en VBA...)

Voici la fonction de départ :

Function somfeuille(nom As Range)
' SOMME SI des notes en col H si nom en D
' Boucle sur les feuilles jusqu'à l'avant dernière
For n = 1 To Sheets.Count - 1
a = Application.WorksheetFunction.SumIfs(Sheets(n).Range("H:H"), Sheets(n).Range("D:D"), nom)
' NB SI du nom
b = Application.WorksheetFunction.CountIf(Sheets(n).Range("D:D"), nom)
' incrementation Total
Total = Total + a
Next
' Valeur calculée à retourner
somfeuille = Total
End Function


Je souhaite garder les mêmes caractéristiques de calculs, mais aujourd'hui je ne veux pas que la macro cherche sur toutes les feuilles, je veux juste qu'elle cherche les valeurs sur la feuille de base et qu'elle effectue les calculs.

Auriez-vous une idée ? :)

Merci par avance pour vos réponses
A voir également:

1 réponse

f894009 Messages postés 17414 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

Function somfeuille(nom As Range)
    ' SOMME SI des notes en col H si nom en D
    a = Application.WorksheetFunction.SumIfs(Sheets("nom de la feuille").Range("H:H"), Sheets(n).Range("D:D"), nom)
    ' NB SI du nom ?????????????????????????? sert a quoi ????????????
    b = Application.WorksheetFunction.CountIf(Sheets("nom de la feuille").Range("D:D"), nom)
    ' Valeur calculée à retourner
    somfeuille = a
End Function


le b est inutile ????
0
Enaxor18 Messages postés 31 Statut Membre
 
Hello,

Merci pour ta réponse. Pour ta question à savoir si le B est inutile, je t'avoue que je ne sais pas, je comprend une partie de la formule mais pas sa totalité (d'où ma présence ici).

J'ai testé ta solution, en bidouillant un peu, sans grand résultat. Au final, je me suis rabattu sur une fonction somme.si.ens et j'ai obtenu le résultat que je voulais.

Merci pour ton aide en tout cas !
0