Fichier TXT en VBA

KWIATKOWSKI Messages postés 6 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 28 novembre 2008 - 24 oct. 2008 à 10:46
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 - 25 oct. 2008 à 19:46
Bonjour , à tous

Je me permets de vous solliciter pour le problème suivants :

J'extrais de lotus notes les emails envoyés , ensuite je copie le corps du message dans un fichier TXT , or je n'arrive pas à chaque enregistrement de créer  un nouveau fichier avec un nom différent ( ex :1.TXT, 2.TXT..........) de plus je souhaite ajouter un lien hypertexte enregistrer dans une cellule excel relié au fichier TXT.

J'espère que vous pourriez me diriger ou bien dans le plus grand des hassards me trouver la solution. 

Merci à tous ceux qui peuvent me répondre, pour cela je me permets de vous joindre le code.

CORDIALEMENT

( je travaille donc avec vba sur excel)

Sub FICHIERTXT()
Dim iFile As Integer
iFile = FreeFile


Open "K:\CRC\Mails pommards\Mails entrant\.txt" For Append As iFile


Print #iFile, doc.GetFirstItem("Body").Text


Close #iFile




End Sub

12 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
24 oct. 2008 à 10:50
Salut,
pour tes questions FUTURE pense à utiliser la section dédiée au VBA

Sub FICHIERTXT()
'En la déclarant Static tu ne perds pas la valeur
'en sortant de la procédure
Static NumFile As Integer
Dim iFile As Integer
iFile = FreeFile
   'Incremente
   NumFile = NumFile + 1
   Open "K:\CRC\Mails pommards\Mails entrant\" & CStr(NumFile) & ".txt" For Append As iFile
   Print #iFile, doc.GetFirstItem("Body").Text
   Close #iFile

End Sub , ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
0
KWIATKOWSKI Messages postés 6 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 28 novembre 2008
24 oct. 2008 à 12:28
Merci beaucoup pour votre réactivité, et je ne manquerai pas de faire attention ou je dépose mon message ,

encore mille fois merci
0
KWIATKOWSKI Messages postés 6 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 28 novembre 2008
24 oct. 2008 à 15:18
Je suis encore dans une impase le code fonctionne , mais lorsque je quitte le programme  il va chercher le fichier txt n°1 au lieu de vérifier le dernier txt enrgistré
 
Si vous pouviez m'aider cela sera un réel bonheur

Sub FICHIERTXT()
'En la déclarant Static tu ne perds pas la valeur
'en sortant de la procédure
Static NumFile As Integer
Dim iFile As Integer
iFile = FreeFile
    'Incremente
   NumFile = NumFile + 1
   Open "K:\CRC\Mails pommards\Mails entrant" & CStr(NumFile) & ".txt" For Append As iFile
   Print #iFile, doc.GetFirstItem("Body").Text
   Close #iFile

End Sub
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
24 oct. 2008 à 23:21
Bonjour KWIATKOWSKI & Co



Un réel bonheur ? -> ... waow, comme tu y vas !



le programme va chercher le fichier txt n°1 au lieu de vérifier le dernier txt enregistré -> on m'a dit depuis ma plus tendre enfance que c'était au programmeur de dire au programme ce qu'il doit faire. On m'aurait donc menti !? 

En tout cas, pour charger le numéro du dernier fichier enregistré dans la variable numFile :

1 - ajoute la fonction suivante à ton module :



function dernierFichier() as Integer
    dim n as Integer
    n = 1
    Do While dir("


K:\CRC\Mails pommards\Mails entrant\




"
& trim(str(n)) & ".txt") <> ""
          n = n + 1
    Loop
    dernierFichier = n - 1 ' numéro du dernier fichier enregistré
End Sub


2 - Après l'instruction  Dim iFile as Integer ajoute une nouvelle instruction numFile = dernierFichier() 
dans le sub FICHIERTXT.


Cordialement
0

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

Posez votre question
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
24 oct. 2008 à 23:26
function dernierFichier() as Integer
...
End Sub


La Honte !!!!!!!!!!!!


il faut évidemment lire End Sub


dsl
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
24 oct. 2008 à 23:30
J'ai une nouvelle fois été trop vite :
il faut lire End Function
0
KWIATKOWSKI Messages postés 6 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 28 novembre 2008
25 oct. 2008 à 09:02
Bonjour Orohena,


Merci pour tous et vous avez raison pour le programmateur , excelente journée à vous

J'essais de suite 


 
0
KWIATKOWSKI Messages postés 6 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 28 novembre 2008
25 oct. 2008 à 09:30
Je suis bloqué avec au niveau de "trim(str("

Do While dir("K:\CRC\Mails pommards\Mails entrant\" & trim(str(n)) & ".txt") <> ""
          n = n + 1

Donc , j'ai remplacé "STR" par "CStr" mais le message d'erreur et objet  bibliothèque introuvable

Désolé de vous solliciter mais un grand merci à vous
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 oct. 2008 à 09:42
Salut,
Trim est inutile ici puisqu'aucun espace ne sera la.
Si cela bloque toujours essaies Strings.Cstr(n), sinon simplement
\" & n & ".txt" (VBA convertira seul

 
-on préférera VbNullstring à ""

@+: Ju£i€n
Pensez: Réponse acceptée
0
KWIATKOWSKI Messages postés 6 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 28 novembre 2008
25 oct. 2008 à 10:43
Cela ne fonctionne toujours pas  même avec Strings.Cstr(n) ou " & n & ".txt" , il faut que je me remue les meninges mais merci à tous ceux qui ont participer .
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
25 oct. 2008 à 12:41
Re,
Est tu sur que l'erreur est sur cette ligne?

@+: Ju£i€n
Pensez: Réponse acceptée
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
25 oct. 2008 à 19:46
Bonjour,

Regarde ce que fait ceci (par exemple) :

Private Sub Command1_Click()
 Static ficanc As String
 ficanc = ""
 Dim monrep As String, monfic As String, filtre As String
 monrep = "d:" '<<<< ici, ton répertoire, suivi de \
 filtre = "*.txt"
 monfic = Dir(monrep & filtre, vbNormal Or vbHidden)
 Do While monfic <> ""
   If IsNumeric(Left(monfic, InStr(monfic, ".") - 1)) And monfic > ficanc Then ficanc = monfic
   monfic = Dir
 Loop
 If ficanc = "" Then
   MsgBox "pas un seul"
 Else
   MsgBox ficanc
 End If
End Sub
0
Rejoignez-nous