Un autre exemple, toujours sous VB6.
J'utilise là Mid et Val, comme dit plus haut.
Cet exemple est peut-être plus facile à suivre (algo auto-explicite). Egalement plus "proche" de ton exercice (impression sur le Form)
Private Sub Command1_Click()
Me.FontName = "Courier" ' ou une autre police à espacement fixe
toto "8" '>> simulation de ton chiffre frappé
titi = Val(toto)
Dim x As Integer, i As Integer, j As Integer
x = KeyAscii - 48
For i = 1 To titi
chaine = chaine & Val(titi) + 1 - i
Next
Me.Print chaine
For i = 1 To titi - 1
Mid$(chaine, i) = " "
Me.Print chaine
Next
End Sub
Mais là encore : exemple simplifié par l'utilisation d'une police à espacement fixe (Courier)
Commence par analyser, comprendre et adapter cet exemple simple.
Ce ne sera que cette étape passée, que tu pourras envisager d'aller plus loin (avec n'importe quelle police et par calcul de la largeur graphique réelle).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ