écriture et lecture d'un fichier texte

Résolu
mfaure
Messages postés
48
Date d'inscription
mardi 28 mars 2006
Statut
Membre
Dernière intervention
22 septembre 2011
- 18 avril 2006 à 09:23
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
- 18 avril 2006 à 19:17
Bonjour à tous

je suis en train de faire une macro qui me permet de renseigner des paramètres concernat des fichiers dans un fichier texte. Je suis confronté à plusieurs problèmes :
1erement : est-il possible d'ouvrir un fichier si on ne connait qu'une partie de son nom (une reference).
2emement : comment on écrit dans le fichier texte
3emement : comment récupère-t-on les données stockées dans ce fichier. En gros, dans le .txt, il y aura une référence et pleins de paramètres qui s'y rapportent. Ce qui m'intéresse, c'est à partir d'un paramètre récupérer les références qui correspondent.

j'espère que vous pourrez m'aider !

merci

Max

7 réponses

mfaure
Messages postés
48
Date d'inscription
mardi 28 mars 2006
Statut
Membre
Dernière intervention
22 septembre 2011

18 avril 2006 à 13:21
re salut !

considère que je n'ai rien dit, j'avais juste un peu mal modifié le code, voici donc le résultat :

Private Sub Form_Load()
' ta ref connue
Dim sRef As String
sRef = "98765"

' tu veux ouvrir le fichier "DESIGNATION_REFCLIENT_123_456-7_REFINTERNE_98765.CATProduct"
Dim sFile As String
sFile = Dir(sMyPath + "*" + sRef + "*.CATProduct")
MsgBox sFile

' donc?
If sFile = vbNullString Then
MsgBox "fichier introuvable"
Else
' tes actions sur un fichier
MsgBox "le chemin complet est : " & vbCrLf & sMyPath & sFile
End If

'Unload Me
End Sub

et ça marche... mon erreur venait du fait que je mettais sFile = Dir(sMyPath + "*.*" + sRef + "*.CATProduct") le *.* ne servait à rien...
3
mortalino
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
18 avril 2006 à 09:34
Salut mfaure !

Le moteur de recherche est là pour te renseigner.
Si tu tapes "lire écrire fichier texte" tu trouveras ton bonheur.

@ ++

Mortalino
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
18 avril 2006 à 11:22
salut,
et pour la question 1, tu dois "recomposer" ton nom de fichier avant d'y accéder.
un peu en dessous ...-> forum
0
mfaure
Messages postés
48
Date d'inscription
mardi 28 mars 2006
Statut
Membre
Dernière intervention
22 septembre 2011

18 avril 2006 à 11:35
salut merci pour vos réponses. cependant, concernant la question 1, mon cas est un peu différent de celui évoqué dans le forum. en effet, dans le forum, on connait, au chifre près le nom du fichier, ce qui n'est pas mon cas. Moi je ne connais que la référence, mais pas le reste, et comme le nom du fichier contient une désignation qui n'est jamais la même, je ne peux donc pas appliquer cette solution là (le nom du fichier est de ce type : DESIGNATION_REFCLIENT_XXX_XXX-XXXX_REFINTERNE_XXXXXX.Catqqchose, où X représente un chiffre)Ce qui m'intéresse, c'est de pouvoir ouvrir le fichier en ne renseignant que la ref client...

pour le reste, je cherche et je réfléchis.

merci pour vos réponses

Max
0

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

Posez votre question
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
18 avril 2006 à 12:08
en VB6 ?












Option Explicit

Const sMyPath As String = "C:\MonAppli\Datas"

'

'

Private Sub Form_Load()

' ta ref connue

Dim sRef As String

sRef = "ClientDurand"



' tu veux ouvrir le fichier "ClientDurand_111_234-546_CD_060418.txt"

Dim sFile As String

sFile = Dir (sMyPath & sRef & "*.*")



' donc?

If sFile = vbNullString Then

MsgBox "fichier introuvable"

Else

' tes actions sur un fichier

MsgBox "le chemin complet est : " & vbCrLf & sMyPath & sFile

End If



Unload Me

End Sub




<small> Coloration
syntaxique automatique [AFCK]</small>
0
mfaure
Messages postés
48
Date d'inscription
mardi 28 mars 2006
Statut
Membre
Dernière intervention
22 septembre 2011

18 avril 2006 à 13:15
Salut merci, je voulais dire "en ne renseignant que la ref interne", c'est à dire les derniers XXXXX du nom du fichier. j'ai quand meme modifié le bout de code en conséquent, mias ça n'a pas l'air de marcher, la variable sFile reste vide :(
je continue à chercher, merci pour vos réponses

Max

(pour info, je ne crois pas que je travaille en VB6 exactement, je crois qu'il s'agit du VB spécifique à Catia (il me semble que c'est légèrement différent))
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
18 avril 2006 à 19:17
re,
pense à remplacer tes + par &.
(pourquoi? bah parce que c'est comme çà ^^, le + fonctionne mais est TRèS déconseillé car opérateur-de-calcul et non opérateur-de-concaténatation)
0