Macro pour ouvir fichier et remplacer du texte?

Le
fred33
Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le texte
"Nom" par le Nom réel du profil..) dans ce fichier et pour terminer changer
l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #23236521
Bonjour,
Tu as un exemple ici :
http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/468.html
Le principe est le suivant :
1. lire le fichier
2. Ecrire le fichier modifié
3. Supprimer le fichier original
4. Renommer le fichier en sortie; tu peux donc le renommer avec
l'extension ".js"
C'est la ligne :
Name TargetFile As SourceFile ' rename temporary file
en modifiant "SourceFile".
Daniel

Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le texte
"Nom" par le Nom réel du profil..) dans ce fichier et pour terminer changer
l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide
fred33
Le #23236711
Merci Daniel pour ta réponse rapide...
Je vais tester..mais je ne voudrais pas supprimer le fichier original...


"DanielCo" news:imn3ae$sun$
Bonjour,
Tu as un exemple ici :
http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/468.html
Le principe est le suivant :
1. lire le fichier
2. Ecrire le fichier modifié
3. Supprimer le fichier original
4. Renommer le fichier en sortie; tu peux donc le renommer avec
l'extension ".js"
C'est la ligne :
Name TargetFile As SourceFile ' rename temporary file
en modifiant "SourceFile".
Daniel

Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le texte
"Nom" par le Nom réel du profil..) dans ce fichier et pour terminer
changer l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide




DanielCo
Le #23236801
Alors, enlève la ligne :
Kill SourceFile ' delete original file
Daniel


Merci Daniel pour ta réponse rapide...
Je vais tester..mais je ne voudrais pas supprimer le fichier original...


"DanielCo" news:imn3ae$sun$
Bonjour,
Tu as un exemple ici :
http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/468.html
Le principe est le suivant :
1. lire le fichier
2. Ecrire le fichier modifié
3. Supprimer le fichier original
4. Renommer le fichier en sortie; tu peux donc le renommer avec l'extension
".js"
C'est la ligne :
Name TargetFile As SourceFile ' rename temporary file
en modifiant "SourceFile".
Daniel

Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le texte
"Nom" par le Nom réel du profil..) dans ce fichier et pour terminer
changer l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide




fred33
Le #23237161
Ok j'ai testé et ça fonctionne bien effectivement sans variable...

Au départ le fichier.js contien les mots Nom.Prenom et Prenom.Nom
Dim path, NP, PN, generic1, generic2 As String
J'ai défini un path ("c:Doc")
En "ReplaceInTextFile.txt" j'ai mis mon "fichier.js"
Je lance par un userform sur ma Feuil1qui me permet d'inscrire le Nom et le
prénom du profil! (inscrits en variable donc)
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
Mon dernier souci de taille...dans cette macro.. bloque sur les variables de
cette ligne
ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
(les caractères à modifier sont en quote et sont bien pris dans ce cas)
Que j'ai adapté pour mon cas en :
ReplaceTextInFile path & "fichier.js", generic1, NP (là j'ai le message
d'erreur)
ReplaceTextInFile path & "fichier.js", generic2, PN (là aussi)
message d'erreur :
"Erreur de compilation: Type d'argument ByRef incompatible"

Merci pour vos éclaircissements!


"DanielCo" news:imnas4$eii$
Alors, enlève la ligne :
Kill SourceFile ' delete original file
Daniel


Merci Daniel pour ta réponse rapide...
Je vais tester..mais je ne voudrais pas supprimer le fichier original...


"DanielCo" news:imn3ae$sun$
Bonjour,
Tu as un exemple ici :
http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/468.html
Le principe est le suivant :
1. lire le fichier
2. Ecrire le fichier modifié
3. Supprimer le fichier original
4. Renommer le fichier en sortie; tu peux donc le renommer avec
l'extension ".js"
C'est la ligne :
Name TargetFile As SourceFile ' rename temporary file
en modifiant "SourceFile".
Daniel

Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le
texte "Nom" par le Nom réel du profil..) dans ce fichier et pour
terminer changer l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide










news.free.fr
Le #23237271
"ReplaceInTextFile.txt" représente le fichier à modifier précédé par
un antislash. Poste la totalité de ton code ou ton classeur.
Daniel


Ok j'ai testé et ça fonctionne bien effectivement sans variable...

Au départ le fichier.js contien les mots Nom.Prenom et Prenom.Nom
Dim path, NP, PN, generic1, generic2 As String
J'ai défini un path ("c:Doc")
En "ReplaceInTextFile.txt" j'ai mis mon "fichier.js"
Je lance par un userform sur ma Feuil1qui me permet d'inscrire le Nom et le
prénom du profil! (inscrits en variable donc)
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
Mon dernier souci de taille...dans cette macro.. bloque sur les variables
de cette ligne
ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
(les caractères à modifier sont en quote et sont bien pris dans ce cas)
Que j'ai adapté pour mon cas en :
ReplaceTextInFile path & "fichier.js", generic1, NP (là j'ai le message
d'erreur)
ReplaceTextInFile path & "fichier.js", generic2, PN (là aussi)
message d'erreur :
"Erreur de compilation: Type d'argument ByRef incompatible"
DanielCo
Le #23237321
"ReplaceInTextFile.txt" représente le fichier à modifier précédé par
un antislash. Poste la totalité de ton code ou ton classeur.
Daniel


Ok j'ai testé et ça fonctionne bien effectivement sans variable...

Au départ le fichier.js contien les mots Nom.Prenom et Prenom.Nom
Dim path, NP, PN, generic1, generic2 As String
J'ai défini un path ("c:Doc")
En "ReplaceInTextFile.txt" j'ai mis mon "fichier.js"
Je lance par un userform sur ma Feuil1qui me permet d'inscrire le Nom et le
prénom du profil! (inscrits en variable donc)
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
Mon dernier souci de taille...dans cette macro.. bloque sur les variables
de cette ligne
ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
(les caractères à modifier sont en quote et sont bien pris dans ce cas)
Que j'ai adapté pour mon cas en :
ReplaceTextInFile path & "fichier.js", generic1, NP (là j'ai le message
d'erreur)
ReplaceTextInFile path & "fichier.js", generic2, PN (là aussi)
message d'erreur :
"Erreur de compilation: Type d'argument ByRef incompatible"

Merci pour vos éclaircissements!


"DanielCo" news:imnas4$eii$
Alors, enlève la ligne :
Kill SourceFile ' delete original file
Daniel


Merci Daniel pour ta réponse rapide...
Je vais tester..mais je ne voudrais pas supprimer le fichier original...


"DanielCo" news:imn3ae$sun$
Bonjour,
Tu as un exemple ici :
http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/468.html
Le principe est le suivant :
1. lire le fichier
2. Ecrire le fichier modifié
3. Supprimer le fichier original
4. Renommer le fichier en sortie; tu peux donc le renommer avec
l'extension ".js"
C'est la ligne :
Name TargetFile As SourceFile ' rename temporary file
en modifiant "SourceFile".
Daniel

Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le
texte "Nom" par le Nom réel du profil..) dans ce fichier et pour
terminer changer l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide










fred33
Le #23237541
Dès que je pose generic1 dans la ligne
ReplaceTextInFile path & "fichier.js", generic1, NP
J'ai le message d'erreur "Erreur de compilation: Type d'argument ByRef
incompatible" avec le terme generic1 mis en évidence
Voici mon code :
Sub TestReplaceTextInFile()
Dim path, NP, PN, generic1, generic2, fichier As String
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
fichier = "xpinstall.js"
path = "D:Documents"
'ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
'ligne macro d'origine
ReplaceTextInFile path & fichier, generic1, NP
End Sub

Merci pour votre aide



"DanielCo" news:4d8f638c$0$27743$
"ReplaceInTextFile.txt" représente le fichier à modifier précédé par un
antislash. Poste la totalité de ton code ou ton classeur.
Daniel


Ok j'ai testé et ça fonctionne bien effectivement sans variable...

Au départ le fichier.js contien les mots Nom.Prenom et Prenom.Nom
Dim path, NP, PN, generic1, generic2 As String
J'ai défini un path ("c:Doc")
En "ReplaceInTextFile.txt" j'ai mis mon "fichier.js"
Je lance par un userform sur ma Feuil1qui me permet d'inscrire le Nom et
le prénom du profil! (inscrits en variable donc)
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
Mon dernier souci de taille...dans cette macro.. bloque sur les variables
de cette ligne
ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
(les caractères à modifier sont en quote et sont bien pris dans ce cas)
Que j'ai adapté pour mon cas en :
ReplaceTextInFile path & "fichier.js", generic1, NP (là j'ai le message
d'erreur)
ReplaceTextInFile path & "fichier.js", generic2, PN (là aussi)
message d'erreur :
"Erreur de compilation: Type d'argument ByRef incompatible"

Merci pour vos éclaircissements!


"DanielCo" news:imnas4$eii$
Alors, enlève la ligne :
Kill SourceFile ' delete original file
Daniel


Merci Daniel pour ta réponse rapide...
Je vais tester..mais je ne voudrais pas supprimer le fichier
original...


"DanielCo" news:imn3ae$sun$
Bonjour,
Tu as un exemple ici :
http://www.exceltip.com/st/Replace_text_in_a_text_file_using_VBA_in_Microsoft_Excel/468.html
Le principe est le suivant :
1. lire le fichier
2. Ecrire le fichier modifié
3. Supprimer le fichier original
4. Renommer le fichier en sortie; tu peux donc le renommer avec
l'extension ".js"
C'est la ligne :
Name TargetFile As SourceFile ' rename temporary file
en modifiant "SourceFile".
Daniel

Bonjour,
J'ai cette macro (excel 2010) pour ajouter du texte
Sub remplace()
Dim iFile As Integer
iFile = FreeFile
Open "C:fichier.txt" For Append As #iFile
Print #iFile, "Test"
Close #iFile
End Sub
J'aimerais maintenant rechercher et remplacer du texte (exemple le
texte "Nom" par le Nom réel du profil..) dans ce fichier et pour
terminer changer l'extension de fichier.txt en fichier.js
En vous remercint pour votre aide
















DanielCo
Le #23237651
Ca fonctionne en définissant les variables :
Dim path, NP As String, PN, generic1 As String, generic2 As String,
fichier As String
(je n'ai pas testé plus avant).
Daniel

Dès que je pose generic1 dans la ligne
ReplaceTextInFile path & "fichier.js", generic1, NP
J'ai le message d'erreur "Erreur de compilation: Type d'argument ByRef
incompatible" avec le terme generic1 mis en évidence
Voici mon code :
Sub TestReplaceTextInFile()
Dim path, NP, PN, generic1, generic2, fichier As String
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
fichier = "xpinstall.js"
path = "D:Documents"
'ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
'ligne macro d'origine
ReplaceTextInFile path & fichier, generic1, NP
End Sub

Merci pour votre aide
fred33
Le #23237801
Eh bien merci pour tout...J'avais pourtant posé
Dim path, NP, PN, generic1, generic2 As String
La macro fonctionne...manque juste à récupérer le "Name TargetFile As
SourceFile" car dans mon exemple le SourceFile est un path...
Encore merci pour votre aide ;)

"DanielCo" news:4d8f83ed$0$10702$
Ca fonctionne en définissant les variables :
Dim path, NP As String, PN, generic1 As String, generic2 As String,
fichier As String
(je n'ai pas testé plus avant).
Daniel

Dès que je pose generic1 dans la ligne
ReplaceTextInFile path & "fichier.js", generic1, NP
J'ai le message d'erreur "Erreur de compilation: Type d'argument ByRef
incompatible" avec le terme generic1 mis en évidence
Voici mon code :
Sub TestReplaceTextInFile()
Dim path, NP, PN, generic1, generic2, fichier As String
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
fichier = "xpinstall.js"
path = "D:Documents"
'ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
'ligne macro d'origine
ReplaceTextInFile path & fichier, generic1, NP
End Sub

Merci pour votre aide




DanielCo
Le #23237931
Tu doios spécifier le type ppour chaque variable; dans ta syntaxe le
"as String" ne s'applique qu'à generic2.
La variable "SourceFile" est composée de : path & fichier.
Daniel

Eh bien merci pour tout...J'avais pourtant posé
Dim path, NP, PN, generic1, generic2 As String
La macro fonctionne...manque juste à récupérer le "Name TargetFile As
SourceFile" car dans mon exemple le SourceFile est un path...
Encore merci pour votre aide ;)

"DanielCo" news:4d8f83ed$0$10702$
Ca fonctionne en définissant les variables :
Dim path, NP As String, PN, generic1 As String, generic2 As String, fichier
As String
(je n'ai pas testé plus avant).
Daniel

Dès que je pose generic1 dans la ligne
ReplaceTextInFile path & "fichier.js", generic1, NP
J'ai le message d'erreur "Erreur de compilation: Type d'argument ByRef
incompatible" avec le terme generic1 mis en évidence
Voici mon code :
Sub TestReplaceTextInFile()
Dim path, NP, PN, generic1, generic2, fichier As String
NP = NOM & "." & Prenom
PN = Prenom & "." & NOM
generic1 = "Nom.Prénom"
generic2 = "Prénom.Nom"
fichier = "xpinstall.js"
path = "D:Documents"
'ReplaceTextInFile ThisWorkbook.path & "ReplaceInTextFile.txt", "|", ";"
'ligne macro d'origine
ReplaceTextInFile path & fichier, generic1, NP
End Sub

Merci pour votre aide




Publicité
Poster une réponse
Anonyme