Fonction sur variable string ...

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 927 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

Commenter la réponse de DiJiTooL

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.