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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| Public Function Justify(ByVal chaine As String, ByVal nbCaractereParLigne As Integer) As String
'Calcul du nombre de ligne réalisable avec la chaine non formatée.
Dim nombreLigne = Len(chaine )/nbCaractereParLigne
'Boucle basée sur le nombre ligne
Dim compteur As Integer
For compteur = 1 to nombreLigne-1 step 1 'On ne justifie pas la dernière ligne
'Si le caractere positionné à "nbCaractereParLigne"*"compteur" n'est pas un espace
'Si le caractere suivant n'est pas un espace
'Regarder ou est le dernier caractere du dernier mot entier de la ligne
'Calculer le nombre de caractere entre les deux pour donner le nombre d'espace à rajouter
'Calculer le nombre d'espace total entre le début de phrase et le dernier caractere du dernier mot entier
'Si le nombre d'espace à rajouter est supérieur au nombre d'espace dans la phrase
'Calculer le modulo pour savoir le nombre d'espace à rajouter en plus
'Parcourir la ligne tant qu'il reste des espace normaux et des espace de modulo à rajouter
'Si le caractere actuel est un espace
'Rajouter un espace
'Décrementer le nombre d'espace à rajouter
'Mettre le parcours de chaine à +1
'Si il reste des espaces modulo à rajouter
'Rajouter un espace
'Décrementer le nombre d'espace modulo à rajouter
'Mettre le parcours de chaine à +1
'Fin si
'Fin si
'Mettre le parcours de chaine à +1
'Fin parcourir
'Fin si
'Sinon si le caractere suivant est un espace
'Ne rien faire (la ligne est déjà justifiée naturelement)
'Fin si
'Si le caractere positionné à "nbCaractereParLigne"*"compteur" est un espace
'Parcourir la ligne tant qu'on est pas sur un espace
'Rajouter un espace
'Fin parcourir
'Fin parcourir
'Fin si
Next
Return
End Function |
Partager