roller0022
Messages postés8Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention 9 avril 2006
-
8 avril 2006 à 09:06
roller0022
Messages postés8Date d'inscriptionlundi 23 juin 2003StatutMembreDerniè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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 avril 2006 à 16:19
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
roller0022
Messages postés8Date d'inscriptionlundi 23 juin 2003StatutMembreDernière intervention 9 avril 2006 9 avril 2006 à 10:56
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