Problème formule VBA

Fermé
Enaxor18 Messages postés 23 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 4 octobre 2018 - 24 juin 2016 à 17:28
Enaxor18 Messages postés 23 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 4 octobre 2018 - 24 juin 2016 à 19:23
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

1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
24 juin 2016 à 17:48
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 23 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 4 octobre 2018
24 juin 2016 à 19:23
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