Comparaison de deux textbox [Résolu]

roller0022
Messages postés
8
Date d'inscription
lundi 23 juin 2003
Dernière intervention
9 avril 2006
- 8 avril 2006 à 09:06 - Dernière réponse : roller0022
Messages postés
8
Date d'inscription
lundi 23 juin 2003
Dernière intervention
9 avril 2006
- 9 avril 2006 à 10:56
Bonjour, ça y est, je suis dans la panade où je ne comprends pas.
J'ai 3 textbox, Dans Text1 : Il y a les chiffres 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 et dans text2: Il y a 5, 6, 7
Dans le text3: il y a la comparaison des deux textbox sous forme, met tous les chiffres de text1 qui ne sont pas dans text2 vers Text3
Pour cette exemple dans text3, Il y a 1, 2, 3, 4, 8, 9, 10.
Mon bout de programme fonctionne mais si Je rajoute le chiffre 1 est présent dans la Text1, le resultat de text3 est l'ensemble de text1 et c'est là le problème, je vous mets mon bout de code qui me chagrine un peu :
Private Sub Form_Load()
Text1 = ""
Text2 = ""
Text3 = ""
'___________________________________
'Ouvre le Fichier 1.txt et l'envoie sur textBox1
Path = "C:\1\3.txt"
Open Path For Input As #1
Text1.Text = Input(LOF(1), 1)
Close #1
'___________________________________
'Ouvre le Fichier 2.txt et l'envoie sur textBox2
Path = "C:\1\4.txt"
Open Path For Input As #1
Text2.Text = Input(LOF(1), 1)
Close #1
'Compte le nombre d'enregistrement de text1 et l'envoi de Text4
Text4 = UBound(Split(Text1, vbCrLf))
'Compte le nombre d'enregistrement de text2 et l'envoi dans Text5
Text5 = UBound(Split(Text2, vbCrLf))

'Comparaison, Envoi tous les enregistrement de text1
' qui ne sont pas dans text2 vers Text3
Text3.Text = Replace(Text1.Text, Text2.Text, "")

'Compte le nombre d'enregistrement de text3 et l'envoi dans Text5
Text6 = UBound(Split(Text3, vbCrLf))

End Sub

Si vous pourriez m'éclairer, ou peux être dois je faire une comparaison en boucle mais je ne suis pas trop caler.
Merci de votre aide.
Jean Paul
Afficher la suite 

2 réponses

Meilleure réponse
cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 8 avril 2006 à 16:19
3
Merci
Salut
- Le nombre d'éléments dans un tableau (généré par Split) est égal à UBound + 1 car les tableaux commencent à l'index 0
- Si tu utilises Replace, ça fonctionnera à condition que la chaine contenue dans Text2 soit entièrement dans Text1
Par exemple, il cela fonctionnera avec 2,3,4 mais plus avec 2,3,6 car cette chaine "2,3,6" n'éxiste pas dans Text1
Il faut donc isoler chaque élément de chaque liste (avec Split) et les comparer un à un avec une boucle (For-Next)
Regarde l'aide de ces deux fonctions et imagine le reste.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

roller0022
Messages postés
8
Date d'inscription
lundi 23 juin 2003
Dernière intervention
9 avril 2006
- 9 avril 2006 à 10:56
0
Merci
Merci jack pourt ta réponse.
Oui tout à fait, j'ai compris mon erreur.
Je vais creer cela sous forme de listbox et creer une boucle for avec listcount.
La bonne fin de week end à toi et au groupe.
Cordialement
Jean Paul

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.