Fonction "remplace" dans une chaîne de caractères

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 784 fois - Téléchargée 28 fois

Contenu du snippet

Remplace dans une chaine de caractères une expression par une autre en contrôllant le nomgre de remplacements et avec option de message.

Source / Exemple :


Private Function Remplace(mot, anc, nouv, n, affichage as boolean)
 'remplace dans mot les n premières occurences (au maximum) de la chaîne anc par la chaîne nouv
 'les chaînes mot, anc et nouv sont de longeurs quelconques ,(mêmes vides sauf anc)
 ' si n <0 le nombre de remplacements n'est pas limité
 ' si affichage est True, un message donnant le nombre de remplacements est donné
 Dim a As Long, b As Long, c As Integer, i As Integer
  
 If mot = "" Or InStr(mot, anc) = 0 Then  Remplace = mot:Exit Function
 If anc = "guillemet" Then anc = Chr(34)
 If nouv = "guillemet" Then nouv = Chr(34)
 b = 0: c = 0
 Do
  If b Then a = b + Len(nouv) Else a = 1
  b = InStr(a, mot, anc)
  If b Then mot = Left(mot, b - 1) + nouv + Mid(mot, b + Len(anc)): c = c + 1
  Select Case n
   Case Is = 0
    Exit Function
   Case Is > 0
    If c = n Then Exit Do
  End Select
 Loop Until b = 0
 Remplace = mot
 If affichage Then MsgBox CStr(c) + " remplacements ont été effectués", vbOKOnly
End Function

A voir également

Ajouter un commentaire

Commentaires

PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
29 -
yassinepro -> utilise le moteur de recherches et/ou le forum, les sources ne sont pas là pour poser ses questions ou pour parler météo... :)
yassinepro
Messages postés
1
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
6 avril 2008
-
je cherche un code qui permet d'ajouter une caractere ou bien une phrase ou dans une zone au millieu de texte sur vb
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32 -
OK... en VB5, ca n'existe pas... mais dans ce cas, précise-le dans la description.
cs_MasterHack
Messages postés
586
Date d'inscription
jeudi 18 septembre 2003
Statut
Membre
Dernière intervention
13 février 2008
1 -
j'aime bien les gents qui peuvent se passer des fonctions predefinies par vb.
c bien continues
sebmafate
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32 -
je ne veux pas casser ta source qui est surement très bien... mais ne serait-ce pas plus rapide d'utiliser la fonction "Replace" native à VB ?
Séb

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.