Fusion de 2 chaînes de caractères suivant un critère spécifique.

Contenu du snippet

Cette fonction permet de faire une fusion partielle de deux chaînes de caractères, afin de les comparer par la suite, sachant que la 1ére chaîne peut contenir un caractères de type bateau comme '?'.
Exemple:
fusion( "1?3?5?7?9" , "987654321" , "?" ) renvoi 183654729
fusion( "fichier.???" , "fichier.txt" , "?" ) renvoi fichier.txt
après il est possible d'utiliser la fonction InStr afin de vérifier si la chaîne quoi est bien incluse dans la chaîne avec quoi en s'affranchissant du caractère bateau '?'.

Source / Exemple :


Function Fusion(Quoi, AvecQuoi, LettreDeFusion) As String
Dim Position As Integer
Dim AvQuoi As String
Dim ApQuoi As String
Dim Lettre As String

    Fusion = Quoi
    Position = 1
    Position = InStr(Position, Fusion, LettreDeFusion, vbTextCompare)

    Do While Position <> 0
        AvQuoi = Mid(Fusion, 1, Position - 1)
        ApQuoi = Mid(Fusion, Position + 1, Len(Quoi) - Position)
        Lettre = Mid(AvecQuoi, Position, 1)
        Fusion = AvQuoi & Lettre & ApQuoi
        Position = Position + 1
        Position = InStr(Position, Fusion, LettreDeFusion, vbTextCompare)
    Loop

End Function

Conclusion :


attention a la longueur des chaînes il faut vérifier que la chaîne quoi soit aussi longue que la chaîne Avecquoi sinon plantage.

A voir également

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.