IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA Fonction WorksheetFunction.CountIf


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut VBA Fonction WorksheetFunction.CountIf
    Bonjour à tous,

    J'ai besoin de créer une fonction permettant de calculer le nombre de valeurs comprises entre deux bornes en utilisant la fonction "WorksheetFunction.CountIf".
    Est-ce que quelqu'un a une idée ?
    Merci d'avance.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Ben utilise la fonction WorksheetFunction.CountIf..., voir aide en ligne de la fonction excel correspondante NB.SI ...

    On ne peu pas t'aider plus si tu ne dis pas ce que tu veux compter et sous quelle condition.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    Je cherche à déterminer le nombre de valeurs comprises entre les valeurs des cellules A1 et B1 de la plage C2:C200... Le min correspond à A1 et le max à B1.

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Et pourquoi vouloir utiliser countIf ..? tu sais faire cela avec la fonction NB.SI ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    Je suis à l'université et je commence à apprendre vba.. c'est un exercice d'application et j'aimerai prendre un peu d'avance..

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour
    Excel
    =NB.SI(C2:C200;"<=" & B1)-NB.SI(C2:C200;"<" & A1)
    qu'on peut traduire en vba par cette fonction qui prend comme paramètres:
    'Rg: Plage de comptage
    'Mn: Critère Minimum
    'Mx: Critère maximum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Function Compte(Rg As Range, ByVal Mn As Double, Mx As Double) As Integer
     
    Compte = Application.CountIf(Rg, "<=" & Mx) - Application.CountIf(Rg, "<" & Mn)
    End Function
    La fonction est testée pour ton cas par ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Test()
     
    With Worksheets("Feuil1")
        MsgBox Compte(.Range("C2:C200"), .Range("A1"), .Range("B1"))
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    Merci, ça fonctionne !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Equivalent VBA :fonction " = Cellule"
    Par Xaphyr dans le forum Excel
    Réponses: 4
    Dernier message: 01/04/2007, 12h57
  2. [VBA]Fonction 'ajout' en vba sur une table
    Par rico63 dans le forum VBA Access
    Réponses: 15
    Dernier message: 28/03/2007, 16h56
  3. [VBA] Fonction non définie dans l'expression
    Par DREADY dans le forum VBA Access
    Réponses: 17
    Dernier message: 08/03/2007, 16h49
  4. [Excel VBA]fonction dans une cellule qui modifie une autre cellule
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 24/01/2007, 17h43
  5. [VBA-E] WorksheetFunction
    Par Regis.C dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/06/2006, 01h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo