Forum Clubic

Longueur d'un tableau

Bonjour,

Je cherche à écrire en VB une fonction de recherche dans un tableau.
Voici la fonction :

Public Function bChercheChaineDansTableau(ByVal strChaineCherchee As String, ByRef strTTableau() As String) As Boolean

Dim iBoucle As Integer          'Variable de boucle
Dim bChaineTrouvee As Boolean   'Indique si la chaîne a été trouvée dans le tableau

bChaineTrouvee = False
If strTTableau.Length > 0 Then
    'Au moins un élément dans le tableau
    iBoucle = LBound(strTTableau)
    Do
        If strTTableau(iBoucle) = strChaineCherchee Then
            bChaineTrouvee = True
        End If
        iBoucle = iBoucle + 1
    Loop Until bChaineTrouvee Or iBoucle > UBound(strTTableau)

End If

bChercheChaineDansTableau = bChaineTrouvee
    
End Function

Pour éviter les problèmes lors de l’appel à LBound(strTTableau) si le tableau est vide, je teste avant la longueur de ce dernier (If strTTableau.Length > 0)
Dès l’entrée dans la fonction, j’ai un message “Erreur de compilation: Qualificateur incorrect” sur strTTableau de strTTableau.Length :etonne2:

Je ne comprends pas, quelqu’un a la solution? Merci

Edit : Pourquoi il ne veut pas me prendre le tag VB ni changer le titre du thread? :@
Edité le 29/08/2008 à 10:26

J’ai résolu en testant sur UBound et en récupérant l’erreur éventuellement levée si le tableau est vide. :slight_smile:

Par contre, j’ai toujours pas compris pourquoi il me modifie pas le titre et pourquoi il m’a pas pris le tag VB :confused:

Ton tableau est vide ou il n’existe pas encore ?
Tu devrais peut-être faire un test (provisoire) en début de fonction avec un MsgBox associé pour voir ce qu’il en est .

edit:
C’est pour éviter de passer par la gestion d’erreurs …
Edité le 29/08/2008 à 11:22