Bonjour
Voici un exemple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Dim cpt As Long
Dim txt As String
Dim res As Long
txt = "25-56-58-78-86-4587-1548-44"
Debug.Print txt
' on initialise le nombre d'occurence cherchée
nbr = 0
' pour chaque caractère du texte
For cpt = 1 To Len(txt)
If Mid$(txt, cpt, 1) = "-" Then ' si le caractère est égal à celui qu'on recherche
nbr = nbr + 1 ' on augmente le nombre d'occurence de 1
res = nbr Mod 2 ' on calcul le reste du nombre d'occurence par 2
If res = 0 Then 'si le reste est 0,
Mid$(txt, cpt, 1) = vbCrLf ' on remplace le caractère par un saut de ligne
End If
End If
Next
Debug.Print
Debug.Print txt |
Au début le texte est
25-56-58-78-86-4587-1548-44
A la fin on a
1 2 3 4 5 6
|
25-56
58-78
86-4587
1548-44 |
En fait il faut utiliser la fonction "MOD" qui permet de connaître le reste d'une division.
Dans mon exemple, j'ai divisé par 2, il faudra donc modifier et faire
Bonne journée
Pierre
Partager