Bonjour,

Le code suivant permet de supprimer les caractères consécutifs identique.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function DeleteConsecutiveChars (MyTxt)
    Dim I
    Dim StrOutput
    StrOutput = Mid(MyTxt, 1, 1)
    MsgBox StrOutput
    For I = 1 To Len(MyTxt) -1
        If Mid(MyTxt, I, 1)<> Mid(MyTxt, I + 1, 1) Then StrOutput = StrOutput & Mid(MyTxt, I + 1, 1)
    Next 
    DeleteConsecutiveChars = StrOutput
End Function
 
strSource = "AAAeeelmA12fggg35526666m"
 
msgbox DeleteConsecutiveChars (strSource)
J'essaie de le modifier pour permettre la suppression de groupes de caractères identiques.
La chaine est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"[a-z]+[a-z]+[a-z]+( )[A-Z]+( )[0-9]+(.)[a-z]+[a-z]+[a-z]+( )[0-9]+"
J'essaie d'obtenir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"[a-z]+( )[A-Z]+( )[0-9]+(.)[a-z]+( )[0-9]+"
Je définis la longueur et la position:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
StrOutput = Mid(MyTxt, 1, 6)
MsgBox StrOutput
Mon MsgBox me retourne bien Je ne parviens pas définir les bonnes valeurs des fonctions de traitement de chaine.

Un peu d'aide SVP?