Valeur Cellule avec Len

Résolu
LANXADE -  
 lanxade -
Bonjour à Toutes et à Tous,

Je désire rechercher dans une Colonne Excel un Article inscrit au départ dans un textBox.
Dans une feuille , j'ai une colonne qui possède des Articles analogues.
Par Exemple : Dans le textBox, j'inscris "Voyant"
Dans les colonnes, il y aura : "Voyant bleu", "Voyant vert"
Afin de retrouver tous les voyants, j'emploie la fonction "Len" (de la longueur variable de l'article inscrit dans le TextBox1)

Pour Cela :
J'ai un UserForm avec un TextBox1 et une Feuille avec Colonnes

Lors du code Suivant:

Private Sub CommandButton1_Click()
Dim Lo As Byte
Dim Cherche As String : Dim Trouve As String
Sheets("Cde").Select
Ligne=2
Cherche = TextBox1.Value
Lo = Len(Cherche)
Trouve = Left(Cells(Ligne,5).Value,Lo)
If Trouve =Cherche Then MsgBox "OK" :GoTo ZZ:
MsgBox Trouve:MsgBox "Faux"

ZZ:
End Sub

> Le Text Box1 Contient "Voyant"
> La Cellule Cells(Ligne,5).Value Contient le mot "Voyant vert".

Lors du lancement du Code, Les méssages suivants apparaissent :
MsgBox " Voyant", Puis MsgBox "Faux"

Ce qui signifierait que le Code Len a bien extrait le mot "Voyant" de la cellule "Voyant vert"
Mais que la valeur "Trouve" et la valeur "Cherche" ne sont pas identiques.

Que se passe-t-il ? : Les valeurs TextBox et Cellules sont différentes ? Pourquoi et comment y remédier ?

D'avance Merci Beaucoup

<config>Windows 7 / Excel 2005

3 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Modifie légèrement la fin de ton code.
    Remplace :
    If Trouve =Cherche Then MsgBox "OK" :GoTo ZZ: 
    MsgBox Trouve:MsgBox "Faux" 
    
    ZZ: 
    End Sub 
    


    par :
    If Trouve = Cherche Then 
    MsgBox "OK"
    Exit Sub
    Else 
    MsgBox Trouve:MsgBox "Faux" 
    End If
    End Sub 
    
    1
  2. LANXADE
     
    Bonjour Pijaku,
    Toujours fidèle au poste ! Que serais-Sans Vous ?
    Effectivement, ça marche
    Merci Encore

    Amicalement
    0
    1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
       
      en fait, lors de ton test if... si tu utilises la syntaxe :
      If gnagna Then bidule
      le test est fini. la ligne suivante sera exécutée
      Par contre :
      If gnagna then  
          bidule  
      Else  
          trucmuche  
      End If  
      est adaptée à ton cas...
      0
  3. lanxade
     
    Bonjour Pijaku,

    Merci pour tout , certainement à bientôt !

    Amicalement
    0