Salut @Tripalere
Tu as besoin de manipuler une chaîne de caractères (String)
Les fonctions communes sont les suivantes, et ressemblent beaucoup à celles que tu peux trouver dans les formules Excel :
Len(String) = longueur de la chaîne de caractère
Left(String, Integer) = extrait un nombre de caractère depuis la gauche
Right(String, Integer) = extrait un nombre de caractère depuis la droite
InStr(String, String) = donne la position d'une chaîne de caractères dans une autre chaîne de caractères, en recherchant depuis la gauche
InStrRev(String, String) = idem, mais depuis la droite
Dim MyText As String
MyText = "XXXX.YYYY.YY.YY.YY.YY"
MessageBox.Show("La longueur de mon texte est : " & Len(MyText), "iLogic")
MessageBox.Show("Mes 6 premiers caractères sont : " & Left(MyText,6), "iLogic")
MessageBox.Show("Mes 6 derniers caractères sont : " & Right(MyText,6), "iLogic")
MessageBox.Show("La position du premier . est : " & InStr(MyText, "."), "iLogic")
MessageBox.Show("La position du dernier . est : " & InStrRev(MyText, "."), "iLogic")
A l'aide de ces fonctions, on peut résoudre la plupart des besoins en manipulations de chaînes textuelles.
Pour ta propriété 1, il suffit d'extraire par la gauche jusqu'au 1er "." (-1)
Pour ta propriété 2, il suffit d'extraire par la droite de la longueur de la chaîne textuelle moins la position du 1er "."
La fonction Split peut fonctionner aussi, mais est un peu plus complexe à manipuler :
Dim MyWords As String()
MyWords = MyText.Split(".")
MessageBox.Show("Ma chaîne textuelle est divisée en " & UBound(MyWords) & " mots", "iLogic")
Dim i As Integer
For i = 0 To UBound(MyWords)
MessageBox.Show("La chaîne textuelle " & i & " est : " & MyWords(i), "iLogic")
Next
Thomas
Mechanical Designer / Inventor Professional 2025
