Valeur Cellule avec Len

Résolu/Fermé
LANXADE - 27 oct. 2010 à 11:12
 lanxade - 27 oct. 2010 à 11:47
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

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
27 oct. 2010 à 11:20
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
Bonjour Pijaku,
Toujours fidèle au poste ! Que serais-Sans Vous ?
Effectivement, ça marche
Merci Encore

Amicalement
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 27/10/2010 à 11:38
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
Bonjour Pijaku,

Merci pour tout , certainement à bientôt !

Amicalement
0