Erreur fonction VBA

Bonjour

Voila j'ai creer une fonction que voici

Function zinc(f1 As String, f2 As String) As Integer
zinc = 0
NB_ZINC = 10
If f1 = "ALD" Then col1 = 2
If f2 = "KET" Then col2 = 3
Sum = 0
For I = 1 To NB_ZINC
N1 = Sheets("data").Cells(I, col1)
N2 = Sheets("data").Cells(I, col2)
Sum = Sum + N1 * N2
Next I
zinc = Sum
End Function

Cette fonction va compter le nb de 1 contenu dans à la fois dans la colonne ALD et la colonne KET

En gros

ALD KET

1 0

0 1

1 1

1 1

0 1

La fonction renverrait 2 car on a dans 2 cas la valeur ALD et KET = 1 ( ligne 3 et 4)

Lorsque je l'execute j'ai une erreur "Value" je ne comprend pas cette erreur.

En debugant la fonction j'ai pu voir que N1 N2 ne prenait pas de valeur "nombre". mais la valeur ALD pour N1 et KET pour N2.

Je ne comprend pas l'erreur.

Bonjour,

Edit : ALD et KET sont des valeurs qui se trouvent où ?

Voir le fichier (sasn données confidentielles) serait plus facile je pense...

Amicalement

Je ne peux pas montrer le fichier

ils sont en ligne 1

Re,

J'ai n'ai pas besoin de ton fichier mais simplement d'un fichier avec ce que tu expliques dans ta demande.

Donc, le code VBA, le ALD et KET, les valeurs 0 et 1, la feuille DATA et la cellule où se trouve la fonction ZINC.

A te relire

Rechercher des sujets similaires à "erreur fonction vba"