Macro boucle for

Bonjour à tous,

Je code pour m'entrainer à la programmation VBA une boucle qui compte les elements non nuls d'une liste.

Le problème est que ça ne me donne pas le bon resultat, et je ne vois pas où est le problème.

Voici la fonction en question :

Function nb_nonnul(List1)

Dim N As Integer

Dim M As Integer (compte le nombre d'elements non nuls)

Dim i As Integer

N = List1.Cells.Count

For i = 1 To N

If List1.Cells(1, i) <> "" Then

M = M + 1

End If

Next i

nb_nonnul= M

End function

Voyiez vous une erreur ?

Merci à vous pour vos regards éclairés

Bonjour MLito, bonjour le forum,

remplace :

If List1.Cells(1, i) <> "" Then

par :

If List1.Cells(i, 1) <> "" Then

mais j'aurais plutôt écris :

Function nb_nonnul(List1 As Range) As Integer
Dim M As Integer

M = Application.WorksheetFunction.CountA(List1)
nb_nonnul = M
End Function

Merci Thauthème, ça marche

Rechercher des sujets similaires à "macro boucle"