Problème de types dans l'écriture d'une fonction VBA

Résolu/Fermé
Chloé - 2 sept. 2013 à 16:19
 Chloé - 3 sept. 2013 à 09:14
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é

A voir également:

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 sept. 2013 à 19:04
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+
0
Ci-joint un exemple dans lequel je n'arrive pas à faire fonctionner mon code: http://cjoint.com/?0IcvCQev3AV

Merci pour votre aide :)
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
3 sept. 2013 à 08:17
Bonjour,

fichier modifie:

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

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