Passer au contenu

Comment trouver la taille exacte d’une zone de texte ?

Solution : à l’aide d’un routine en VBA.

La réalisation de formulaires personnalisés avec Word 97 demande des ajustements du comportement des différents contrôles au moyen de routines en VBA. Par exemple, lorsque vous autorisez les retours chariot dans une zone de texte, celle-ci le compte pour deux caractères. Dès lors, la taille exacte de la chaîne de caractères contenue dans la zone obtenue par la propriété Length ou la fonction Len se révèle fausse. Pour compter juste, il vous faut effectuer une recherche minutieuse des retours chariot, les caractères chr(13), afin de les soustraire de la taille annoncée par la fonction Len. Créez une zone de texte baptisée Texte et autorisez les passages à la ligne (propriété WordWrap).Listing :
Private Function Recherche13(Chaine As String) As Integer
nb = 0
For i = 1 To Len(Chaine)
If Mid(Chaine, i, 1) = Chr(13) Then
nb = nb + 1
End If
Next i
Recherche13 = Len(Chaine) – nb
End Function


Private Sub Texte_Change()
Dim NBReel As Integer
NBReel = Recherche13(Texte.Text)
Texte.Caption = “Signes : ” & Str(NBReel)
If NBReel >= 500 Then
MsgBox “Attention, vous avez atteint les 500 caractères autorisés.”, vbExclamation
End If
End Sub

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Filigrane Press