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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 847 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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
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... :)
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
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.
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
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.