Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/10/2011, 19h05   #1
Invité de passage
 
Homme Jonathan
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Jonathan
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
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.
JonathanF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 19h30   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
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.
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/10/2011, 20h06   #3
Invité de passage
 
Homme Jonathan
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Jonathan
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
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.
JonathanF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 20h49   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Et pourquoi vouloir utiliser countIf ..? tu sais faire cela avec la fonction NB.SI ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 20h56   #5
Invité de passage
 
Homme Jonathan
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Jonathan
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
Je suis à l'université et je commence à apprendre vba.. c'est un exercice d'application et j'aimerai prendre un peu d'avance..
JonathanF est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2011, 23h14   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Excel
Citation:
=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 :
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 :
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.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 14h33   #7
Invité de passage
 
Homme Jonathan
Inscription : octobre 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Jonathan
Localisation : France

Informations forums :
Inscription : octobre 2011
Messages : 21
Points : 4
Points : 4
Merci, ça fonctionne !
JonathanF est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h52.


 
 
 
 
Partenaires

Hébergement Web