Trier le texte d'une expression

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 679 fois - Téléchargée 36 fois

Contenu du snippet

j'ai créer des fonctions qui permettent de trier et d'extraire des éléments dans une expression très facilement.
pour enlever des caractères dans des expressions (exemple les "a" et les "l" dans allo), marquez text1.text=Trier_Une_Valeur("allo","al"). Cela est censez donner "o"
chklpl ne fait que lire une expression lettre par lettre

Source / Exemple :


Function Extraire_valeur(texte_a_fouiller As String, La_Valeur As String) As String
Dim pos, lelen, lentot, t
lelen = Len(La_Valeur)
lentot = Len(texte_a_fouiller)
pos = InStr(texte_a_fouiller, La_Valeur)
t = Right(texte_a_fouiller, (lentot - lelen) + 1)
Extraire_valeur = Right(t, lelen)
End Function
Function ChkLPL(texte As String, position) As String
If position = o Then
position = 1
End If
ChkLPL = Mid(texte, position, 1)
End Function
Function Trier_Une_Valeurb(texte As String, valeur_a_ignorer) As String
Trier_Une_Valeurb = ""
For i = 0 To Len(texte)
If ChkLPL(texte, i) = valeur_a_ignorer Then
Else
Trier_Une_Valeurb = Trier_Une_Valeurb & ChkLPL(texte, i)
End If
Next
End Function
Function Trier_Une_Valeur(texte As String, valeurs_a_ignorer) As String
Dim lecar
For i = 1 To Len(valeurs_a_ignorer)
lecar = Mid(valeurs_a_ignorer, i, 1)
If i = 1 Then
Trier_Une_Valeur = Trier_Une_Valeurb(texte, lecar)
Else
Trier_Une_Valeur = Trier_Une_Valeurb(Trier_Une_Valeur, lecar)
End If
Next
End Function

A voir également

Ajouter un commentaire Commentaires
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
quant a la fonction ChkLPL, elle est plutôt inutile.... il te suffit de pas demander le caractère de position 0 , et tu utilises directement mid$ , ca allège un peu le pile, et fonctionne tout aussi bien....
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
disons que là, l'avantage, c'est qu'on n'a qu'un appel a effecuter.....

par contre, plutôt que trois fonctions de tri, ne pourrais-tu plûtot ajouter un paramètre.... les fonctions sont sensiblement identiques...
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
ne peut on pas, dans ces cas-ci utiliser

monTexte = replace ("allo" , "a" , vbnullstring)
monTexte = replace (replace , "l" , vbnullstring)

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.