OVH Cloud OVH Cloud

analyser chaine de caracteres en VB

6 réponses
Avatar
jean christophe Humbert
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne trouve pas la reponse
au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes de la maniere
suivante :
"titre du journal"-"titre de l'article"-"date de publication"

exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne le dossier et ecrit
dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:\Mes sites Web\Web RM\Publications\" ' Définit le chemin
d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la première entrée.
Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui reconnait le Chr "-" dans
le nom du fichier et ecrit dans les champs appropries de la table, le titre
du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--
jc.humbert@bigfoot.com

6 réponses

Avatar
p handerek
et si tu esseyai la fct suivante

Function ExtraireSéparateur(Chn, s)
dim xInstr as string
If IsNull(Chn) Then
ExtraireSéparateur = ""
Else
xInstr = InStr(Chn & s, s)
ExtraireSéparateur = Left(Chn, xInstr - 1)
Chn = Mid(Chn, xInstr + Len(s))
End If
End Function
Chn = chaîne de caracteres
s = dans ton cas "
"jean christophe Humbert" a écrit dans le
message de news:3f2521bb$0$9623$
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne trouve pas la reponse
au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes de la maniere
suivante :
"titre du journal"-"titre de l'article"-"date de publication"

exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne le dossier et
ecrit

dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:Mes sites WebWeb RMPublications" ' Définit le chemin
d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la première entrée.
Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui reconnait le Chr "-" dans
le nom du fichier et ecrit dans les champs appropries de la table, le
titre

du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--





Avatar
jean christophe Humbert
meci bcp.
c'est quand meme mal foutu que a la rubrique "voir aussi" dans l'aide VB
cette fonction n'aparaisse pas !

"JS" a écrit dans le message de
news:074b01c3550c$aae29390$
Salut,

Il y a la fonction InStr, qui te donne la position d'un
caractere dans ta chaine.

Par exemple InStr(MyName, "-") te donne la position du -
dans MyName en partant du début, et InStr(5,MyName,"-") en
partant du 5e caractère.
Après tu n'as plus qu'a extraire les différentes parties
de la chaîne avec Mid: du début au 1er "-" , du 1er "-" au
2e "-", et du 2e "-" a la fin de la chaine (-4 pour
enlever le .htm)

et voilà
J


-----Message d'origine-----
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne
trouve pas la reponse

au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes
de la maniere

suivante :
"titre du journal"-"titre de l'article"-"date de
publication"


exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne
le dossier et ecrit

dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:Mes sites WebWeb RMPublications" '
Définit le chemin

d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la
première entrée.

Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui
reconnait le Chr "-" dans

le nom du fichier et ecrit dans les champs appropries de
la table, le titre

du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--



.



Avatar
JS
Je suis d'accord avec toi, l'aide d'access n'est pas méga
intuitive parfois... longue vie aux forums !
J.

-----Message d'origine-----
meci bcp.
c'est quand meme mal foutu que a la rubrique "voir aussi"
dans l'aide VB

cette fonction n'aparaisse pas !

"JS" a écrit dans le message de
news:074b01c3550c$aae29390$
Salut,

Il y a la fonction InStr, qui te donne la position d'un
caractere dans ta chaine.

Par exemple InStr(MyName, "-") te donne la position du -
dans MyName en partant du début, et InStr(5,MyName,"-") en
partant du 5e caractère.
Après tu n'as plus qu'a extraire les différentes parties
de la chaîne avec Mid: du début au 1er "-" , du 1er "-" au
2e "-", et du 2e "-" a la fin de la chaine (-4 pour
enlever le .htm)

et voilà
J


-----Message d'origine-----
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne
trouve pas la reponse

au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes
de la maniere

suivante :
"titre du journal"-"titre de l'article"-"date de
publication"


exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne
le dossier et ecrit

dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:Mes sites WebWeb RMPublications" '
Définit le chemin

d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la
première entrée.

Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui
reconnait le Chr "-" dans

le nom du fichier et ecrit dans les champs appropries de
la table, le titre

du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--



.




.




Avatar
jean christophe Humbert
thks beaucoup car je ramais grave pour "positionner le 2eme "_"

"Raymond" a écrit dans le message de
news:
Bonjour.

ce que je voudrais c'est ecrire une fonction qui reconnait le Chr "-"
dans


le nom du fichier et ecrit dans les champs appropries de la table, le
titre

du journal, le titre de l'article, et la date.


MyName étant le nom sous sa forme HBR-Fair Process-010103.htm

Dim Pos1 As Long
Dim Pos2 As Long
Pos1 = InStr(1, Me.MyName, "-")
Pos2 = InStr(Pos1 + 1, Me.MyName, "-")
rst.fields("titrejournal") = Left(Me.MyName, Pos1 - 1)
rst.fields("titrearticle") = Mid(Me.MyName, Pos1 + 1, (Pos2 - Pos1) - 1)
rst.fields("datearticle") = Replace(Mid(Me.MyName, Pos2 + 1), ".htm", "")

en indiquant les bons noms de champs du recordset.
--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"jean christophe Humbert" a écrit dans le
message de news:3f2521bb$0$9623$
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne trouve pas la
reponse


au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes de la maniere
suivante :
"titre du journal"-"titre de l'article"-"date de publication"

exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne le dossier et
ecrit

dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:Mes sites WebWeb RMPublications" ' Définit le chemin
d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la première entrée.
Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui reconnait le Chr "-"
dans


le nom du fichier et ecrit dans les champs appropries de la table, le
titre

du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--








Avatar
Hubert Canevet
Bonjour, je pense que tu seras intéressé par cette page :

http://www.mvps.org/accessfr/strings/str0003.htm

-----Message d'origine-----
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne
trouve pas la reponse

au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes
de la maniere

suivante :
"titre du journal"-"titre de l'article"-"date de
publication"


exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne
le dossier et ecrit

dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:Mes sites WebWeb RMPublications" '
Définit le chemin

d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la
première entrée.

Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui
reconnait le Chr "-" dans

le nom du fichier et ecrit dans les champs appropries de
la table, le titre

du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--



.



Avatar
jean christophe Humbert
meci à toi.
C'est bon, n'en jetez plus ! :-)

"Hubert Canevet" a écrit dans le message de
news:329e01c35522$4b65d600$
Bonjour, je pense que tu seras intéressé par cette page :

http://www.mvps.org/accessfr/strings/str0003.htm

-----Message d'origine-----
Bonjour,

j'ai lu l'aide VB sur chr, mid, et autres mais je ne
trouve pas la reponse

au probleme suivant.

j'ai un dossie qui contient des fichies qui sont nommes
de la maniere

suivante :
"titre du journal"-"titre de l'article"-"date de
publication"


exemple :
HBR-Fair Process-010103.htm
FT-Try Complementary Medicine-030699.htm
FT-Opportunity Beckons-180897.htm
etc...

pour le moment j'ai reussi a ecrire un module qui scanne
le dossier et ecrit

dans un champ d'une table les noms des fichiers.

Function RemplirTbl()
Dim MyFile, MyPath, MyName
Dim rst As DAO.Recordset

MyPath = "D:Mes sites WebWeb RMPublications" '
Définit le chemin

d'accès.
MyName = Dir(MyPath, vbDirectory) ' Extrait la
première entrée.

Set dbs = CurrentDb
Set rst = dbs.openrecordset("TblPublications")
Do While MyName <> "" ' Commence la boucle.
rst.AddNew
rst(3) = MyName
rst.Update

MyName = Dir ' Extrait l'entrée suivante.
Loop
rst.Close
Set rst = Nothing
Set dbs = Nothing

End Function

ce que je voudrais c'est ecrire une fonction qui
reconnait le Chr "-" dans

le nom du fichier et ecrit dans les champs appropries de
la table, le titre

du journal, le titre de l'article, et la date.

mais j'y arrive pas. alors si vous savez comment faire...

--



.