Bonjour,
C'est normal, la fonction (UDF) corrigée proposée par h2so4 n'est pas "volatile", càd. qu'elle ne s'exécute que quand ses paramètres sont actualisés. Or elle n'a aucun paramètre à part la cellule dans laquelle elle se trouve. Qui ne s'actualise que lorsque vous la double cliquez.
Pour "corriger" cela, on peut indiquer la fonction comme volatile, il faut ajouter "Application.Volatile" en première ligne de la fonction.
Mais ce n'est pas suffisant ! Votre classeur est en calcul manuel, les fonctions ne sont évaluées QUE si vous recalculez le classeur avec le bouton en bas à gauche. Pour activer le calcul automatique allez dans Formules > Calcul > Options de Calcul > Automatique.
Ci-après le fichier tel qu'indiqué, avec UDF volatile et calculs automatiques.
Function nbCriteresActifs()
Application.Volatile ' non présent initialement
With Worksheets("Feuil1")
If .AutoFilterMode Then
With .AutoFilter.Filters(3)
If .On Then
nbCriteresActifs = .Count
End If
End With
End If
End With
End Function