Incompatibilité de type et argument vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.

😱
 
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
@+
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
182
Retour