XL 2010 Compter Avec NB.SI.ENS Listobject

  • Initiateur de la discussion Initiateur de la discussion cp4
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cp4

XLDnaute Barbatruc
Bonjour,

Dans le fichier joint, je voudrais d'abord utiliser nb.si.ens sur un tableau structuré et avoir une fonction personnalisée VBA.
Et ce, pour compter les occurrences des années précédentes à l'année en cours (ne pas compter ceux de l'année en cours).
J'ai écrit une formule mais j'ai message m'indiquant que ma formule est fausse.
Merci.
 

Pièces jointes

Solution
la première fonction deviendrait donc
VB:
Public Function Compter(Critère1 As Range, critère2 As Range) As Integer
    With ActiveSheet.ListObjects("Tablo")
        For i = 1 To .ListRows.Count
            If .DataBodyRange(i, 2) = Critère1 And .DataBodyRange(i, 3) = critère2 And Year(.DataBodyRange(i, 1)) < Year(Now) Then
                Compter = Compter + 1
            End If
        Next i
    End With
End Function

et pour la fonction evaluate.. bah.. cp4 va travailler un peu quand meme 🙂
comme à l'école;.il faut lire tout l'énnoncé avant de répondre à la question..
ici, faut lire toutes les réponses...
Parfaitement, d'accord avec toi. Mes excuses.
Tu avais zappé la chronologie. Chronologiquement parlant, j'ai testé à la va-vite et du coup j'ai répondu pour toutes tes propositions en me référant aux 1ères formules et la fonction du post#8.

J'ai juste définie les variables i et compteur, et tout est bon. Merci.
 
@vgendron , @TooFatBoy FatBoy : En fait, je travaille en vba et j'ai beaucoup de données à traiter.
Pour vérifier que les résultats par code soient bons. Vu le nombre de données, ça va me prendre un temps fou à vérifier. Je me suis dit, si les résultats par code sont identiques à ceux de formules. D'une pierre 2 coups, je serai sûr à 100% que mes chiffres sont bons. Voilà, pourquoi.
Est-ce que ça répond à votre question?

Je vous remercie. Jusqu'à présent avec les données utilisées, les résultats sont satisfaisants (pas d'erreur).
 
s'il est question de gagner du temps d'execution.. suis pas sur que la fonction perso soit la meilleure solution
une sub qui calcule tout et restitue le résultat final est surement plus adéquate.

en plus.. vérifier un calcul "manuel" (par formule) en faisant le meme calcul par fonction perso (avec la solution Evaluate).. bah.. je vois pas comment tu évites des erreurs.. vu que c'est le meme calcul...
 
je me suis aussi amusé avec
1) des requetes PQ (bon... je ne sais pas mettre un résultat sous forme matricielle.. (je ne sais meme pas si c'est possible)

2) et une autre solution par macro "Sub"
Merci. Je n'utilise jamais PQ. Peut-être à tort. Depuis que j'ai galéré à remettre en état mon pc. Gros problème suite à une mise à jour ou installation d'un complément. je ne rajoute plus rien.

Merci pour la piste. Je vais l'exploiter.

Bonne soirée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour