KMui Posté(e) le 11 octobre 2005 Partager Posté(e) le 11 octobre 2005 Bonjour, Je suis debutant en vb et voila mon probleme : J'ai un fichier texte de ce type : 13 150 10 75 LE premier nombre est le numero de produit et le deuxieme est la quantité. L'espace entre les deux nombres est une tabulation. C'est cela qui me pose de probleme, j'arrive pas à la tester et passé au deuxieme chiffre. Ainsi je voudrais recuperer le premier nombre dans la variable 'code' et le deuxieme dans la variable 'qte'. Merci de votre aide ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
dfi.informatique Posté(e) le 13 octobre 2005 Partager Posté(e) le 13 octobre 2005 Sauf si c'est un exercice de style, il vaut mieux créer des fichiers textes séquentiels de longueur fixe, ex : ce code qui n'est pas fonctionnel directement : la procédure lecture montre surtout la syntaxe... Option Explicit Public Type Enregistrement 'longeur totale : Y = 2 + X + 2 St_NumeroProduit As String * 2 St_Quantité As String * X 'X=nbre de caractères selon la qté la + grande St_CaracFin As String * 2 'CR & LF, les 2 caractères de fin d'enregistrement End Type Public Sub Lecture(code as integer,) Dim St_Fichier As String Dim E_Enregistrement As Enregistrement Dim L_NumEnreg As Long, L_NombEnreg As Long Dim NumeroProduit As Integer, Quantité As Integer St_Fichier = "C:\Répertoire\Fichier.txt" Open St_Fichier For Random As #1 Len = Len(E_Enregistrement) If Err = YY Then ' gestion éventuelle d'erreur en ouverture End If L_NombEnreg = LOF(1) \ Len(E_Enregistrement) 'nb d'enregistrements ds fichier For L_NumEnreg = 1 To L_NombEnreg Step 1 Seek #1, L_NumEnreg 'positionnement sur l'enregistrement Get #1, , E_Enregistrement 'récupération de l'enregistr. code = Trim(E_Enregistrement.St_NumeroProduit) Qte = Trim(E_Enregistrement.St_Quantité) ' Traitement de tes valeurs code & Qte Next L_NumEnreg Close #1 'fermeture du fichier Exit Sub Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.