L'erreur vient du fait que le retour doit se faire avec le nom de la fonction.
Donc ici, cela aurait du être "Compter2=..." et non "Compter=..."
Pour rendre l'exécution automatique comme n'importe quelle fonction XL, il faut rajouter Application.volatile au début.
Voir PJ.
J'ai renommé les fonctions pour être plus "explicite"
VB:
Function CompterOui()
Application.Volatile
CompterOui = Application.CountIf(Sheets("Source").Range("G:G"), "O")
End Function
Function CompterNon()
Application.Volatile
CompterNon = Application.CountIf(Sheets("Source").Range("G:G"), "N")
End Function
ben je galere un peu en VBA, j'ai mis un onglet en cpt où je fais mes calculs mais ça bug, ensuite j'avais fait une macro 4 pr la mise en forme de mes compteurs, si tu peux me montrer avec la fonction compte() au moins je saurai pr la prochaine fois !
Merci encore pr ton aide précieuse , je monte en compétence grace a vous !
Bonsoir,
J'ai mis ces deux fonctions perso dans CPT, ne sachant exactement où mettre les formules.
Avec ces deux fonctions perso que j'ai mis dans le module Fonctions :
VB:
Function Compter()
Compter = Application.CountIf(Range("G:G"), "O")
End Function
Function NBVALcolA()
NBVALcolA = Application.CountA(Range("A:A"))
End Function
Pour ceux qui ne connaissent pas les fonctions personnelles et pour ceux qui appréhendent le VBA, voici un petit tuto pour montrer à quel point des fonctions personnelles peuvent être utiles et surtout à quel point c'est simple, même si on n'a...
Bonsoir,
J'ai mis ces deux fonctions perso dans CPT, ne sachant exactement où mettre les formules.
Avec ces deux fonctions perso que j'ai mis dans le module Fonctions :
VB:
Function Compter()
Compter = Application.CountIf(Range("G:G"), "O")
End Function
Function NBVALcolA()
NBVALcolA = Application.CountA(Range("A:A"))
End Function
Pour ceux qui ne connaissent pas les fonctions personnelles et pour ceux qui appréhendent le VBA, voici un petit tuto pour montrer à quel point des fonctions personnelles peuvent être utiles et surtout à quel point c'est simple, même si on n'a...
Merci par contre si je veux mettre ma fonction dans un onglet compteur, afin de faire mes calculs et les reporter vers un autre onglet c sous quel forme que je cherche par exemple ici Source
Function Compter()
Compter = Application.CountIf(Range("Source""G:G"), "O")
Je patauge un peu ds les fonctions, j'ai sous l'onglet CPT l'exemple que je souhaite mettre en place, par contre est ce la fonction se lance uniquement qd on l'appel comme une macro ou est ce automatique ? jsp etre claire
L'erreur vient du fait que le retour doit se faire avec le nom de la fonction.
Donc ici, cela aurait du être "Compter2=..." et non "Compter=..."
Pour rendre l'exécution automatique comme n'importe quelle fonction XL, il faut rajouter Application.volatile au début.
Voir PJ.
J'ai renommé les fonctions pour être plus "explicite"
VB:
Function CompterOui()
Application.Volatile
CompterOui = Application.CountIf(Sheets("Source").Range("G:G"), "O")
End Function
Function CompterNon()
Application.Volatile
CompterNon = Application.CountIf(Sheets("Source").Range("G:G"), "N")
End Function