Résolu Traduire NB.SI par VBA

Horusbk

XLDnaute Junior
Bonsoir,

J'ai trouvé de nombreuses discussions sur ce sujet mais je n'ai pas réellement compris comment été programmée chaque fonction présentée.
Je souhaiterais traduire cette formule en NB.SI mais sous la forme d'un code VBA pour l'ajouter à une macro :

resultat = NB.SI ( P5 : P ; "Baptiste")
Msgbox resultat
Il faudrait que le code compte le nombre de fois où "Baptiste" apparaît dans toute la colonne P mais seulement à partir de la cinquième ligne de cette colonne.


Merci d'avance pour votre aide.
Baptiste

(N'hésitez pas à m'indiquer si vous souhaitez un fichier pour ma demande)
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Un exemple
VB:
Private Sub vba_NBSI(Plage As Range, Mot As String)
Resultat = Application.CountIf(Plage, Mot)
MsgBox Resultat
End Sub
Sub vTests()
vba_NBSI Range("P5:P100"), "Baptiste"
End Sub
 

Horusbk

XLDnaute Junior
Bonsoir Staple1600,

Merci pour cette réponse rapide :)
Il n'y a pas de moyens d'indiquer "de P5 à la dernière ligne de la colonne P" plutôt que de définir une ligne de fin "P5 : P100" ?

Cordialement,
Bapt.
 

laurent950

XLDnaute Impliqué
Bonsoir,

For i = 5 To Cells(1048576, 16).End(xlUp).Row
If Cells(i, 16) = "Baptiste" Then
resultat = resultat + 1
End If
Next i
MsgBox resultat
 

Staple1600

XLDnaute Barbatruc
Re, Bonsoir laurent950

=>Horusbk
C'était pas bien compliqué à adapter, non ? ;)
VB:
Sub vTests_II()
Dim Vamos_A_la_Playa As Range
Set Vamos_A_la_Playa = Range(Cells(5, "P"), Cells(Rows.Count, "P").End(3))
vba_NBSI Vamos_A_la_Playa, "Baptiste"
End Sub
Private Sub vba_NBSI(Plage As Range, Mot As String)
Resultat = Application.CountIf(Plage, Mot)
MsgBox Resultat
End Sub
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas