Problème formule VBA
Enaxor18
Messages postés
31
Statut
Membre
-
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
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:
- Problème formule VBA
- Formule si et - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Excel mise en forme conditionnelle formule - Guide
- Formule somme excel ligne - Guide
1 réponse
Bonjour,
le b est inutile ????
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 ????
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 !