Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
'supprime les guillemets
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
'supprime les guillemets
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
'supprime les guillemets
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxM
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxM
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxMBonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fich ier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxM
Bonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fich ier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxM
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxMBonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fich ier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
ok merci bien... apparment celle ci marche aussi. A part la création
du fichier temp y t'il un avantage à utiliser la tienne plutot que
celle de mon precedent post ?Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxMBonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
ok merci bien... apparment celle ci marche aussi. A part la création
du fichier temp y t'il un avantage à utiliser la tienne plutot que
celle de mon precedent post ?
Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxM
Bonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxM
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
ok merci bien... apparment celle ci marche aussi. A part la création
du fichier temp y t'il un avantage à utiliser la tienne plutot que
celle de mon precedent post ?Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxMBonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passant par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dernier
et les deux précédents. Un fichier au format Word n'est as un fichier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'un.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
L'économie de mémoire car non création du tbl surtout si le fichier est
gros. Peut-être la rapidité (à voir ?).
@+
FxMok merci bien... apparment celle ci marche aussi. A part la création
du fichier temp y t'il un avantage à utiliser la tienne plutot que
celle de mon precedent post ?Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxMBonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passan t par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dern ier
et les deux précédents. Un fichier au format Word n'est as un fi chier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'u n.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
L'économie de mémoire car non création du tbl surtout si le fichier est
gros. Peut-être la rapidité (à voir ?).
@+
FxM
ok merci bien... apparment celle ci marche aussi. A part la création
du fichier temp y t'il un avantage à utiliser la tienne plutot que
celle de mon precedent post ?
Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxM
Bonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passan t par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.
Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dern ier
et les deux précédents. Un fichier au format Word n'est as un fi chier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxM
Des fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'u n.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub
L'économie de mémoire car non création du tbl surtout si le fichier est
gros. Peut-être la rapidité (à voir ?).
@+
FxMok merci bien... apparment celle ci marche aussi. A part la création
du fichier temp y t'il un avantage à utiliser la tienne plutot que
celle de mon precedent post ?Bonsoir,
C'était le coté Word qui passe à la trappe qui m'a fait réagir.
Si c'est pour remplacer une occurrence dans un texte, ce qui suit
devrait aller (non testé) :
Sub ModifierTexte2()
dim fil1 as string, fil2 as string, tablo, ligne as string
fil1 = "C:Repertoire de testSophia.wdf"
tablo=split(fil,"")
tablo(ubound(tablo))="tempo.txt" 'fichier temporaire
fil2 = join(tablo,"")
Open fil1 For Input As #1
open fil2 for output as #2
Do While Not EOF(1)
Line Input #1, ligne
print #2, replace(ligne, "SOPHIA", "DEBRIS")
Loop
close #2
close #1
name fil2 as fil1
'kill fil2 ??
End Sub
@+
FxMBonsoir,
Tu es dans le vrai et ceci merite plus d'explication.
Je dispose d'un fichier .wdf qui s'ouvre parfaitement avec un editeur
de texte mais qui fait quelques bizarreries lorsque j'essaie de
l'importer dans excel puis de le sauver au même format (.wdf, ndlr).
Le but de cette macro est donc de remplacer une valeur par une autre
dans ce fichier wdf via excel et ce de façon invisible.
J'ai donc abandonné mes tentatives d'import sous excel en csv, txt, &
Cie et tenté de passer par Word. D'ou mon premier post. Je tente une
feinte -deuxième post- et cela ne marche toujours pas. En bref,
j'heritai à la sauvegarde de mon fichier en .wdf de pleins de
caractères spéciaux dont je n'avais cure.
Doù mon 3ème post où j'ai enfin trouvé une solution en passan t par
un tableau avec line input et print. Etant de nature altruiste, j'ai
donc publié ce code sur le MPFE. Je conviens parfaitement qu'il ne
suit pas le même process que celui decrit sur mon premier post mais
bon, comme le disent beaucoup : si la porte est fermée, rentre par la
fenêtre.
en esperant t'avoir eclairci, je te souhaite une bien bonne soirée.Bonsoir,
En lisant les trois messages, je ne vois aucun rapport entre le dern ier
et les deux précédents. Un fichier au format Word n'est as un fi chier
texte (loin de là).
Parcoure les fils des 27/11 et 28/11 ici (mpf.excel) et sur mpf.word
@+
FxMDes fois ça sert de phosphorer...
Voici le code que j'utilise au final si jamais ça peut aider qq'u n.
Sub ModifierTexte()
Dim Tbl()
Dim Ln
Dim I As Integer
' et ça marche avec bcp de fichiers texte un peu batards
(.wdf, .klp, .trp ...)
Open "C:Repertoire de testSophia.wdf" For Input As #1
Do While Not EOF(1)
I = I + 1
ReDim Preserve Tbl(1 To I)
Line Input #1, Tbl(I)
Loop
If I = 0 Then
Close #1
MsgBox "Fichier vide. Operation annulee"
Exit Sub
End If
For I = 1 To UBound(Tbl)
Tbl(I) = Replace(Tbl(I), "SOPHIA", "DEBRIS")
Next I
Close #1
Open "C:Repertoire de testSophia.wdf" For Output As #1
'ré-inscrit les valeurs et referme
For I = 1 To UBound(Tbl)
Print #1, Tbl(I)
Debug.Print Tbl(I)
Next I
Close #1
Erase Tbl
End Sub