Nombre de caractères fixe
Créer un nouveau module, et dedans saisir ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Function ajout_caractere(ByVal strValue, maxLen As Integer, Optional dir As String = "R", Optional sFill As String = "0") As String
Dim nLen As Integer
'indique la longueur de la valeur envoyée
nLen = Len(strValue)
'compare les deux données de longueur
If maxLen < nLen Then
'prend le nombre de caractère max par la droite
ajout_caractere = Right$(strValue, maxLen)
ElseIf maxLen > nLen Then
'test si l'on doit rajouter les données à droite (R) ou à gauche (L)
If dir = "R" Then
ajout_caractere = strValue & String(maxLen - nLen, sFill)
Else
ajout_caractere = String(maxLen - nLen, sFill) & strValue
End If
Else
ajout_caractere = strValue
End If
End Function |
Créer un module avec ce code, vous verrez apparaître le résultat :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Function essai()
Dim valeur As String, direction As String, caractere As String
Dim nombre As Integer
valeur = InputBox("Valeur ?", "Titre")
nombre = InputBox("Nombre ?", "Titre")
direction = InputBox("Direction (optionnel) ?" & Chr(13) & "(valeur par défaut : droite)", "Titre", "R")
caractere = InputBox("Caractère (optionnel) ?" & Chr(13) & "(valeur par défaut : 0)", "Titre", "0")
MsgBox "Valeur : " & Chr(9) & Chr(9) & valeur _
& Chr(13) & "Nombre : " & Chr(9) & Chr(9) & nombre _
& Chr(13) & "Direction : " & Chr(9) & direction _
& Chr(13) & "Caractère : " & Chr(9) & caractere _
& Chr(13) & Chr(13) _
& Chr(13) & "Résultat : " & Chr(9) & UCase(ajout_caractere(valeur, nombre, direction, caractere)), vbOKOnly + vbInformation, "Titre"
End Function |
Peux-être aussi urilisé dans Excel :
Saisir une valeur dans la cellule A1 et dans la cellule C1 saisir la commande suivante :
Code:
=ajout_caractere(A1;10)