Commentçamarche.net
CodeS-SourceS
Rechercher un code, un tuto, une réponse

Remplacer une chaîne par une autre dans un fichier

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 129 fois


Contenu du snippet

Private Function ChangeWords(sWordsToRemove As String, sWordsToChange As String, sFile As String) As Boolean 
    If Dir(sFile, vbSystem Or vbHidden) = vbNullString Then 
'       fichier existe?
        ChangeWords = False 
    Else 
'       ouvre le fichier
        Dim FF As Integer, sBuffer As String 
        FF = FreeFile 
        Open sFile For Input As #FF 
            sBuffer = Input(LOF(FF), 1) 
        Close #FF 
'       ligne à changer existe?
        Dim lPos As Long 
        lPos = InStr(1, sBuffer, sWordsToRemove) 
        If lPos = 0 Then 
            ChangeWords = False 
        Else 
'           on découpe
            Dim sFirst As String, sLast As String 
            sFirst = Left$(sBuffer, lPos - 1) 
            sLast = Right$(sBuffer, Len(sBuffer) - lPos - Len(sWordsToRemove) + 1) 
'           on écrit
            FF = FreeFile 
            Open sFile For Output As #FF 
                Print #FF, sFirst & sWordsToChange & sLast 
            Close #FF 
            ChangeWords = True 
        End If 
    End If 
End Function

Compatibilité : VB6, VBA

Disponible dans d'autres langages :

A voir également

Ajouter un commentaire

Commentaires

Votre évaluation

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.