Nbre de cellule ds une selection

Résolu
cs_Achi Messages postés 128 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 mai 2008 - 12 janv. 2007 à 14:21
cs_Achi Messages postés 128 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 mai 2008 - 15 janv. 2007 à 10:04
bonjour,

je souhaite déterminer le nbre de cellules non vide que je dispose ds une colonne.

j'ai donc écrit:

PLV = Columns(1).Find("", [A8], , , xlByRows, xlNext).Row


(1er souci, il ne commence pas a la ligne 8 et me compte tout )

sinon à par ca ca fonctionne,

autre problème je fais des filtres sur cette colonne. et qd je veux lancer cette routine de calcul, il n'en tient pas compte et me prend également les lignes non filtrées.. et ca ne m'arrange pas!

alors si qq'un peut me renseigner!!!!!
Achi++

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 janv. 2007 à 16:02
Oui, mais j'ai pas trop compris ce qu'il voulait faire...

Voici ta fonction en code :

Sub CompteCelluleVide()
    Dim MaPlage As Range, MaCellule As Range
    Dim Compteur As Integer
    
Set MaPlage = Range("A8:A50"): Compteur = 0

For Each MaCellule In MaPlage
    If MaCellule.Text = vbNullString Then
Compteur = Compteur + 1
Next MaCellule

MsgBox Compteur
End Sub


~ <small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 janv. 2007 à 14:32
Salut,

au niveau filtre, je ne sais pas, mais pour ton 1er problème, fait le comme ceci :

PLV = Range("A8").End(xlDown)

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
12 janv. 2007 à 15:41
Pas sur de ton truc Mortalino, ça indique juste la première cellule vide

Sinon au niveau formule d'excel c'est NBVAL
Ainsi =NbVal(A8:A50) te renvoie l nombre de cellules non vide sur la plage A8:A50

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
12 janv. 2007 à 15:48
Pfff, si même Casy se met à me piquer mes réponses !

Donc, pour ton pb, effectivement, un NBVal est amplement suffisant.
Et pour compter tes cellules en fonction de tes filtres, il suffit de jouer avec les NBVAL et les NB.SI en fonction de ce dont tu as besoin.

Molenn
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Achi Messages postés 128 Date d'inscription lundi 27 février 2006 Statut Membre Dernière intervention 17 mai 2008
15 janv. 2007 à 10:04
Bonjour,

Merci pr votre aide...

en fait pr etre plus clair je me sers de ce code ds le but de connaitre le nombre de ligne que mon tableau comporte... sachant qu'il est constament modifié...

je filtre également une colonne de ce tableau (en fonction d'un critère)... le problème que j'ai toujour d'ailleurs c'est que lorsque je lance mon code après avoir filtré il me prend en compte toutes les lignes de mon tableau..

voici mon code au cas ou vous pourriez m'aider!!


Public Sub NbreOt()
    Dim MaPlage As Range, MaCellule As Range
    Dim Compteur As Integer


L1 = 8


Do Until Cells(L1, 1) = ""
L1 = L1 + 1
Loop


Set MaPlage Range("A8:A" & L1): Compteur 0


For Each MaCellule In MaPlage
    If MaCellule.Text <> vbNullString Then Compteur = Compteur + 1
Next MaCellule


Worksheets(1).Label12.Caption = Compteur
End Sub

voilà!! Achi ++


 
0
Rejoignez-nous