IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Incompatibilité de type avec "INSTR()" [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Incompatibilité de type avec "INSTR()"
    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

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sst = InStr(1,sss, x, 0)

  3. #3
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut bonsoir Mercatoq, le forum
    Bingo

    une heure de perdue...

    ça m'apprendra à ne pas voir faire comme d'habitude avec un "UCASE()". et à ne pas lire complétement l'aide : "Start" est facultatif mais
    start Facultatif. Expression numérique qui définit la position de départ de chaque recherche. Si cet argument est omis, la recherche commence au premier caractère. Si l'argument start contient une valeur de type Null, une erreur se produit. L'argument start est obligatoire si l'argument compare est indiqué.
    Merci.

    ESVBA

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Incompatibilité de type avec une requête Select
    Par desilo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 04/04/2008, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo