Incompatibilité de type et argument vba

liloucmoi

XLDnaute Occasionnel
Bonjour à tous,

J'ai besoin d'une fonction me disant si une chaîne est comprise dans un tableau de chaînes.

N'ayant pas trouvé dans l'aide vba une telle fonction, je cherche à la faire moi même.

j'ai donc :
Code:
Function IsIn(txt As String, ByRef TabTxt() As String) As Boolean
[COLOR="SeaGreen"]' Determine si une chaine est contenue au moins une fois dans un tableau de chaine
[/COLOR]
    Dim i As Integer
    
    IsIn = False
    
    For i = LBound(TabTxt()) To UBound(TabTxt())
        If StrComp(txt, TabTxt(i), vbTextCompare) = 0 Then
            IsIn = True
            Exit Function
        End If
    Next i
    
End Function
Je veux l'appeler de la façon suivants :
Code:
sub macro1()

Dim combi2(), combi() as string 
...
[COLOR="SeaGreen"]' remplissage des deux tableaux[/COLOR]
...
if not IsIn(combi2(j), combi()) then 
...
end if
...

j'ai un beau message d'erreur à la compilation :
"Incompatibilité de type : tableau ou type défini par l'utilisateur attendu"

Une idée pour me débloquer ?
(que ce soit sur l'existante d'une fonction toute faite ou d'une astuce ou de mon erreur)

Merci d'avance.

:eek:
 

Pierrot93

XLDnaute Barbatruc
Re : Incompatibilité de type et argument vba

Bonjour,

d'après ce que je comprends de ton code, tu devrais passer en 1er argument une chaîne de caractères...

Code:
Dim [B]combi2 As String[/B], combi() As String
If Not IsIn([B]combi2[/B], combi()) Then
End If

bon après midi
@+
 

smotty

XLDnaute Occasionnel
Re : Incompatibilité de type et argument vba

Bonjour,

Voici une fonction que j'utilise dans un de mes programmes:

Code:
Function EstDansTab(ByRef T(), ByVal V) As Boolean
    Dim i As Integer
    Dim blok As Boolean
    
    blok = False
    For i = 0 To UBound(T)
        If T(i) = V Then blok = True: Exit For
    Next i
    
    EstDansTab = blok
    
End Function


A adapter

smotty
 
Dernière édition:

Discussions similaires

Réponses
3
Affichages
290

Statistiques des forums

Discussions
312 467
Messages
2 088 671
Membres
103 914
dernier inscrit
VAL965698