Fonction replace
Bonjour,
J'ai crée une petite macro qui permet d'ouvrir un fichier Excel et de remplacer une ligne part une autre, voici le code en question :
Sub hophop()
Dim x As Integer, texte As String, i As Long
x = FreeFile
fileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen = False Then Exit Sub
Open fileToOpen For Input As #x
texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF3", "livraison de utilisateur DD3" & vbCrLf & "commande validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
'texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF6", "livraison de utilisateur DD6" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
'texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur DD6", "livraison de utilisateur FF6" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
'texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur DD3", "livraison de utilisateur FF3" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
Close #x
fichier = Environ("userprofile") & "\Desktop\ttt.txt"
x = FreeFile: Open fichier For Output As #x: Print #x, texte: Close #x
End SubLe problème c'est que je ne peux pas utiliser plus de deux fois la même fonction dans mon programme, j'aimerai rajouter plusieurs replace consécutive.
L'erreur d'exécution se produit : 'erreur d'exécution '62' : L'entrée dépasse la fin de fichier' .
Pouvez vous m'aider svp, je suis bloqué.
Salut SpaceX
Dans ta sub tu récupères le texte jusqu'à la fin du fichier
texte = Replace(Input$(LOF(x), #x)Donc une fois que tu as ton texte, tu as juste à travailler dessus
Sub hophop()
Dim x As Integer, texte As String, i As Long
Dim FileToOpen As Variant, Fichier As String
x = FreeFile
FileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If FileToOpen = False Then Exit Sub
Open FileToOpen For Input As #x
texte = Replace(Input$(LOF(x), #x), "livraison de utilisateur FF3", "livraison de utilisateur DD3" & vbCrLf & "commande validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
texte = Replace(texte, "livraison de utilisateur FF6", "livraison de utilisateur DD6" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
texte = Replace(texte, "livraison de utilisateur DD6", "livraison de utilisateur FF6" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
texte = Replace(texte, "livraison de utilisateur DD3", "livraison de utilisateur FF3" & vbCrLf & "commande non validé" & vbCrLf & "passage en revue" & vbCrLf & "numéro -4546" & vbCrLf)
Close #x
Fichier = Environ("userprofile") & "\Desktop\ttt.txt"
x = FreeFile: Open Fichier For Output As #x: Print #x, texte: Close #x
End SubA+
Bonjour SpaceX, Bruno,
SpaceX a écrit :Le problème c'est que je ne peux pas utiliser plus de deux fois la même fonction dans mon programme
Tu m'as fait une de ces frayeurs, j'te dis pas !!! j'ai cru qu't'avais découvert un nouveau type de fonction du style « jetable au bout de 2 utilisations » !!! avec les gars de l'obsolescence programmée, faut s'attendre à tout ! ils seraient bien capables de nous sortir ça un d'ces 4 matins !
dhany