Fonction sur variable string ...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 966 fois - Téléchargée 37 fois

Contenu du snippet

je savais pas koi faire alors j ai fais qq petite fonction pour les variables string!
ca peu etre utile????
Si qq as une idée de fonction, laissez un msg moi j'en ai plus lol

Source / Exemple :


'Fonction qui donne le nombre lettres de source contenu dans destination
'Ex : MsgBox CombienDeLettrePossede("a la", "a la maison", True) affiche 3
'EX2 : MsgBox CombienDeLettrePossede("a la", "a la maison") affiche 4

Public Function CombienDeLettrePossede(source As String, destination As String, Optional MmPosition As Boolean = False)
Dim tableau() 'declare un tableau
ReDim tableau(Len(source)) 'redim le tableau de la taille de source

'si pas mm postion false
If MmPosition = False Then

'parcourt lettre/lettre de source
'et place la lettre dans le tabeau si existe pas
For i = 1 To Len(source)
    For a = 1 To UBound(tableau)
    If Mid(source, i, 1) = tableau(a) Then GoTo existe
    'si espace alors pas ds le tableau
    If Mid(source, i, 1) = " " Then GoTo existe
    Next a

tableau(i) = Mid(source, i, 1)
existe:
Next i
    'compte combien de lettre source a dans destination
    Dim nb As Integer
    For i = 1 To UBound(tableau)
        For a = 1 To Len(destination)
        If tableau(i) = Mid(destination, a, 1) Then nb = nb + 1
        Next a
    Next i
    CombienDeLettrePossede = nb
Else
'Si  mm position true

'parcourt lettre/lettre de source
For i = 1 To Len(source)
tableau(i) = Mid(source, i, 1)
Next i
    
    'compte combien de lettre source a dans destination(mm position)
    For i = 1 To UBound(tableau)
    If tableau(i) <> " " And tableau(i) = Mid(destination, i, 1) Then nb = nb + 1
    Next i
    CombienDeLettrePossede = nb

End If
End Function

'----------------------------------------------------------------------------------------

'Fonction qui donne la position(integer)
'd'un texte dans une variable
'   EX : text1 ="vivevbfrance vbfrance.com"
'   Position(text1,"vbfance") renvoie 5
'   Position(text1,"vbfance",6) renvoie 14
Public Function Position(variable As String, Texte As String, Optional ApartirDe As Integer = 1)
Dim i As Integer
Dim debut As Integer
For i = ApartirDe To Len(variable)
If Mid(variable, i, Len(Texte)) = Texte Then Exit For
Next i
Position = i
End Function

'-------------------------------------------------------------------------------------

'Fonction qui Extrait le texte entre deux mots ou caractéres dans une variable.
'Ex text1="delimiteur azerty delimiteur qwerty delimiteur"
'Extraire(Text1, "delimiteur", "delimiteur", 17) renvoie qwerty
'Extraire(Text1, "delimiteur", "delimiteur") renvoie azerty
Public Function Extraire(variable As String, EntreGauche As String, EntreDroit As String, Optional ApartirDe As Integer = 1)
Dim debut As Boolean
Dim tmp As String
Dim i As Integer
Dim a As Integer
For i = ApartirDe To Len(variable)
If Mid(variable, i, Len(EntreGauche)) = EntreGauche Then debut = True: Exit For
Next i
    If debut = True Then
        For a = (i + Len(EntreGauche)) To Len(variable)
        If Mid(variable, a, Len(EntreDroit)) = EntreDroit Then Exit For
        tmp = tmp & Mid(variable, a, 1)
         Next a
    End If
Extraire = tmp
End Function

'-------------------------------------------------------------------------------------

'Fonction qui inverse l'ordre
'des caractéres de la string
'ex : text1="azerty"
' text1=Inverse(text1)--> Text1 affiche "ytreza"--> Text1 affiche "azerty"
Public Function Inverse(variable As String)
Dim tmp As String
For i = Len(variable) To 1 Step -1
tmp = tmp & Mid(variable, i, 1)
Next i
Inverse = tmp
End Function

'-------------------------------------------------------------------------------------

'la fonction replace  de vb6
'pour ceux qui ont vb5 ou anterieur
'text1="Je allons au dodo!"
'Text1 = Remplace(Text1, "je", "nous")-->text1 affiche "nous allons au dodo!"
Public Function Remplace(variable As String, TxtCible As String, TxtRemplace As String)
Dim tmp As String
For i = 1 To Len(variable)
If Mid(variable, i, Len(TxtCible)) = TxtCible Then
tmp = tmp & TxtRemplace
i = i + (Len(TxtCible) - 1)
Else
tmp = tmp & Mid(variable, i, 1)
End If
Next i
Remplace = tmp
End Function

A voir également

Ajouter un commentaire

Commentaires

DiJiTooL
Messages postés
78
Date d'inscription
samedi 4 août 2001
Statut
Membre
Dernière intervention
29 mars 2007
-
tro cool merci bcp ça va bien m'aidé jte met 10 :):)
PatLogan
Messages postés
16
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
8 juin 2004
-
si ça te tente, il y a une expérience qui montre que si on ne change pas la première et la dernière lettre d'un mot, on peut changer l'ordre à l'intérieur, ça reste lisible.

j'aimerais bien envoyer des messages de ce style si ça te branche de faire une formule avec une affectation aléatoire des lettre à l'intérieur de chaque mot d'une phrase.

l'algorithme peut être sympa mais je suis un gros feignant...

@+!

PatLogan
s0ft
Messages postés
2
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
20 février 2007
-
salut j'ai besoin d'coup de main svp
voilà le probleme est que j'ai besoin d'effecuter un controle sur une zone de texte
de facon a ce que les 4 derniers chiffres soit tjs egale a date systeme emples :
000012006
si tu peut m aider envoie moi un e-mail a cette adresse : rezgui_soft@yahoo.fr
merci d'avance

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.