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.
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.