Problème de types dans l'écriture d'une fonction VBA [Résolu/Fermé]

Signaler
-
 Chloé -
Bonjour,

Je dois rédiger une fonction VBA qui va chercher un indicateur dans la colonne E d'un onglet donné. Une fois cette indicateur trouvé, j'aimerais que ma fonction compte le nombre d'occurence d'un mot donné dans une plage à droite de l'indicateur. Voici mon code:

Public Function CompteOcc(onglet As String, numctrl As Integer, texte As String) As Double
Dim cellule As range 
Dim ligne As Integer 
Dim plage As range
Dim compte As Double
Set cellule = Sheets(onglet).range("E:E").Find(numctrl)
ligne = cellule.Row 
Sheets(onglet).Activate
Set plage = Sheets(onglet).range(Cells(ligne, 6), Cells(ligne, 30))
compte = WorksheetFunction.CountIf(plage, texte)
CompteOcc = compte
End Function 


Mais lorsque j'essaie d'appliquer cette fonction dans une cellule en prenant d'autres cellules en arguments, celle-ci me renvoie une erreur #VALEUR!

Pourriez-vous m'aider à comprendre mon erreur?
Merci d'avance,

Chloé

4 réponses

Messages postés
15753
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
7 mai 2021
1 487
Bonjour,

Pour moi, avec votre code et des cellules en arguments, ca marche. #VALEUR apparait si le numctrl n'existe pas.
Il faudrait un exemple de votre fichier ou cela ne marche pas

A+
Ci-joint un exemple dans lequel je n'arrive pas à faire fonctionner mon code: http://cjoint.com/?0IcvCQev3AV

Merci pour votre aide :)
Messages postés
15753
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
7 mai 2021
1 487
Bonjour,

fichier modifie:

https://www.cjoint.com/c/CIdiqsWeBOc

A+
Merci beaucoup pour votre rapidité! C'est parfait!