Fonction NBVAL - VBA

Bonjour à toutes et tous !

J'ai besoin d'un coup de pouce, car j'ai cherché sur plein de forums, mais je ne trouve pas de solution pour exécuter la fonction NBVAL par VBA...

J'aimerais qu'en D8, la fonction NBVAL me compte le nombre de cellules non vides de la colonne F, et jusqu'à la dernière ligne de cette colonne. Je retire 1 pour exclure mon en-tête du champ d'analyse.

Voici mon code :

    Range("D8").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=COUNTA(C[2])-1"

Évidemment, ça ne marche pas

Mais je sais pas pourquoi

J'ai essayé ça : Application.WorksheetFunction.CountA (Range("F1:F65000")) mais sans succès.

EDIT :

J'ai changé ma formule, qui me donne maitntenant un résultat correct.

ActiveCell.FormulaR1C1 = "=COUNTA(R[-3]C[3]:R[789]C[3])"

Je sélectionne dans la colonne F, les cellules de la deuxième à la dernière ligne.

Je vais transposer le format R1C1 sous un format plus flexible...

A suivre

Bonjour,

Curieux !

Tu aurais pourtant dû obtenir le résultat souhaité avec

Range("D8")=Application.CountA (Range("F2:F" & rows.Count))

ou encore

Range("D8").Formula="=COUNTA(F:F)-1"

A+

Bonjour Frangy,

Ta solution fonctionne parfaitement !!! Mon erreur venait de la suite de mon code, erreur que j'ai pu repérer grâce à la méthode pas à pas.

Merci beaucoup et bonne journée !!

J'ai une dernière question :

Comment faire pour appliquer mon filtre "jusqu'à la dernière ligne du tableau" ?

ActiveSheet.Range("$A$1:$Y$287").AutoFilter Field:=7, Operator:= _
        xlFilterValues, Criteria2:=Array(0, "01/01/2016")

ActiveSheet.Range("A65536").End(xlUp).Row).AutoFilter Field:=7, Operator:= _

xlFilterValues, Criteria2:=Array(0, "01/01/2016")[/code]

Le changement mis en gras est-il correct ?

J'ai trouvé : Remplacer par ce code.

ActiveSheet.Range("A1:A" & [A65536].End(xlUp).Row).AutoFilter Field:=6, Criteria1:= _

">=01/01/2016", Operator:=xlAnd

Merci pour votre aide

Rechercher des sujets similaires à "fonction nbval vba"