Modifier un code VBA

J'ai ce code:

Public Function CDZEman(Compte As String, Cle As Range, Optional mois As String, Optional annee As String) As String

C1 = Right("00000000000000000000" & Compte, 20)
Set CleRange = Cle
cler = WorksheetFunction.Sum(CleRange)
cler = CStr(Format(cler * 100, "0000000000000"))
C2 = CStr(Format(Cle.Rows.Count, "0000000"))
If mois = "" Then mois = Month(Now())
If annee = "" Then annee = Year(Now())

mois = Right(CStr(Format(mois, "00")), 2) & Right(CStr(Format(annee, "0000")), 4)
C3 = Space(14) & "0"

CDZEman = "*" & C1 & cler & C2 & mois & C3

End Function

Je veux modifier cette ligne:

C2 = nbval(Format(Cle.Rows.Count, "0000000"))

pour quelle me donne le nombre des cellules non vide dans la colonne qui contient les montant à ajouter.

( cler = WorksheetFunction.Sum(CleRange)

cler = CStr(Format(cler * 100, "0000000000000")) ).

car, quand je sélectionne par exemple la colonne (G:G), j'obtient le somme exact, mes le nombre des valeurs est de 1048576, c'est à dire le nombre de lignes d'un classeur excel.

Bonjour,

Si tu sélectionnes la colonne G:G tu auras toujours la bonne somme et bien le nombres de lignes de la colonne soit 1048576.

Range(range("G2"),cells(cells.rows.count,"G").end(XlUp))

te donnera la bonne somme et le bon nombres de lignes,en considérant que la plage a évalué commence en G2.

C1 = Right(string(20,"0") & Compte, 20)
Rechercher des sujets similaires à "modifier code vba"