Bonjour,

Je souhaite créer une fonction qui compte les occurrences d'une chaine de caractère (nom + prénom) dans une colonne précise : ici la 5e.
Pour ce faire, j'utilise la fonction ESTNUM(CHERCHE("Jean Dupont";E2;VRAI;FAUX)) en bouclant sur la cellule où je fais la recherche, et en comptant le nombre de fois où cette fonction renvoie vrai.

  1. Est-ce possible de faire plus simple ?
  2. Je suis confronté au fait que la fonction cherche renvoie #VALUE quand elle ne trouve pas, j'ai voulu éviter ça sous vba en utilisant IFERROR, mais l'erreur arrive quand même.. que faire ?


Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Function nombre_postu(nom)
'
' Tri_prospect Macro
    Dim i, j, compteur As Integer
' me permet de trouver jusqu'ou boucler, le document changeant de taille
    i = 1
    While Worksheets(1).Cells(i, 1).Value <> ""
        i = i + 1
    Wend
    compteur = 0
    j = 1
    While j < i
        j = j + 1
        k = Worksheets(1).Cells(j, 5).Value
        If Application.WorksheetFunction.IfError(Application.WorksheetFunction.Find(nom, Worksheets(1).Cells(j, 5).Value), False) Then
            compteur = compteur + 1
        End If
    Wend
    nombre_postu = compteur
 
End Function
Merci !!

Antdec