bonjour,

j'ai une erreur icompatibilité de type sur cette ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sst = (InStr(sss, x, 0))


Voici le code qui pose problème sachant que le contenu des variables est bon.
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
22
23
24
25
26
27
28
29
30
31
    Dim Nbfiltre As Integer
 
    Dim LesColonnes As Variant
        LesColonnes = Array("A", "C", "D")
 
    Dim ValFiltre As Variant
        ValFiltre = Array("TxtFiltreDesignation", "TxtFiltreMarque", "TxtFiltreReference")
 
    Const StartLine = 0     'Ligne de démarrage du tableau
 
    'Const vbTextCompare = 1            
 
    Dim sss As String
    Dim sst As Integer
    Dim x As String
 
 
    '---
    For NbLigne = 1 To Plage.Rows.Count
        '--- Cherche si la ligne peut être utilisée
        For FiltreID = 0 To UBound(ValFiltre)
 
            sss = Range(LesColonnes(FiltreID) & (NbLigne + StartLine)).Value
            Debug.Print sss; " ("; Controls(ValFiltre(FiltreID)).Value; ")",
 
            x = (Controls(ValFiltre(FiltreID)).Value)
            sst = (InStr(sss, x, 0))   '<<<<<<<<<<<<<<<<<<<<<<
 
        Next FiltreID
 
    Next NbLigne
Fonctionne sans la comparaison de type. Mais dès que je le demande, il y a erreur.

Merci de vos lumières.


ESVBA