PRobleme dans une recherche de texte...

Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006 - 23 janv. 2002 à 09:38
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 - 23 janv. 2002 à 13:02
j'effectue une recherche dans un fichier texte pour récupérer 2 valeurs et les incorporer dans une base, mais j'ai un problème, voilà mon code:

Private Sub RempliTable(Source As String)
Load FrmWait
FrmWait.Show
Const Limit = "%"
Dim Longueur As Double
Dim Chaine As String
Dim Login As String
Dim eMail As String
Dim FIN As Boolean
Open Source For Input As #1
Do While Not EOF(1)
i = 0
FIN = False
Line Input #1, Chaine
Do While FIN = False
Longueur = Len(Chaine)
If Mid(Chaine, i, Longueur) = Limit Then
Login = Mid(Chaine, 0, i - 1)
eMail = Mid(Chaine, i + 1, Len(Chaine))
Call InsertDataBase(Login, Chaine)
FIN = True
Else
i = i + 1
End If
Loop
Loop
FrmWait.Hide
Call MsgBox("Mise à jour de la table Mailstarnet terminée", vbOKOnly, "Traitement")
Unload FrmWait
End Sub

le problème vient au premier appel de Mid(), j'ai le message "Argument ou appel de procédure incorrect"
je vois pas où est l'erreur, quelqu'un la voit-il?
merci

6 réponses

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 janv. 2002 à 11:33
Voila ci j'ai bien compris ce que tu voulais faire, la fonction suivante devrait fonctionner correctement bien que je n'est pas lancer VB pour l'ecrire. Il y a peut etre 1 ou 2 fautes de frappe mais dans le principe c'est comme ca .

Private Sub RempliTable(Source As String)
Load FrmWait
FrmWait.Show

Const Limit = "%"
Dim Chaine As String
Dim Login As String
Dim eMail As String
Dim Pos as long
Dim NumFich as Integer

Open Source For Input As #NumFich
Do While Not EOF(1)
Line Input #1, Chaine
Pos = instr ( 1,chaine , limit,vbtextcompare) 
If (pos>1) then
Login = Mid(Chaine, 1, pos - 1)
eMail = Mid(Chaine, pos + 1)
' Es tu sur que ce n'est pas 
' Call InsertDataBase(Login, eMail)
Call InsertDataBase(Login, Chaine)
End If
Loop
FrmWait.Hide
Call MsgBox("Mise à jour de la table Mailstarnet terminée", vbOKOnly, "Traitement")
Unload FrmWait
close #Numfich
End Sub



Voilou bon code

A++
Hervé
0
Clonk Messages postés 278 Date d'inscription mardi 22 janvier 2002 Statut Membre Dernière intervention 29 août 2006
23 janv. 2002 à 12:21
ça marche "mieux" mais j'ai toujours un message d'erreur, cette fois ci c'est:
"Erreur de syntaxe (opérateur absent) dans l'expression #chaine de caracteres#"
C quoi cette erreur???????
HELPEUH!
0
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 janv. 2002 à 12:51
AU debugger c'est ou que ca plante. S'il ne rentre pas du tout dans la fonction, il faut peut etre verifier la declaration de "InsertDataBase"

A++
Hervé
0
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 janv. 2002 à 12:57
:shock) Excuse moi, j'ai oublier de remplacer la ligne :
Line Input #1, Chaine
par :
Line Input #NumFich, Chaine

Désolé :(

A++
Hervé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 janv. 2002 à 12:58
:shock) Excuse moi, j'ai oublier de remplacer la ligne :
Line Input #1, Chaine
par :
Line Input #NumFich, Chaine

Désolé :(

A++
Hervé
0
cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 janv. 2002 à 13:02
J'ai du mal aujourd'hui j'ai encore oublier qq chose :

Ajoute le ligne :
Numfich = Freefile

Entre les 2 lignes suivante :
Dim NumFich as Integer

Open Source For Input As #NumFich

Bon ce coup ci ca doit etre bon!

A++
Hervé
0
Rejoignez-nous