Affichage d'un texte long dans un textbox en vba

Résolu/Fermé
Layali20 - 31 mai 2015 à 20:22
 Layali20 - 5 juin 2015 à 17:38
Bonjour,

j ai un probleme concernant l affichage des textbox ,je veux afficher un texte qui contient plusieurs ligne dans un textbox vba , et ça ne marche pas ,lors de l'affichage ,tous le texte s'affiche en une seule ligne;
je vous prie de me proposer des solutions
et merci d'avance

5 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
1 juin 2015 à 10:48
Bonjour à tous
normalement, un textbox est fait pour saisir du texte et non pour l'afficher.
pour cela on peut utiliser le "label" ( le A majuscule de la boite à outils) qui va à la ligne automatiquement.

Et avec les propriétés on peut donner un fond blanc style texbox , centrer le texte etc.
2
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
1 juin 2015 à 15:45
Bonjour Michel,

« qui va à la ligne automatiquement.»
Il faut toutefois s'assurer que la propriété WordWrap soit toujours sur sa valeur par défaut : WordWrap=True

Cordialement
Patrice
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
5 juin 2015 à 08:59
Wordwrap ayant la valeur true par défaut il est inutile d'écrire wordwrap=true
sinon , si on suit cette logique, il faut effectuer cela sur TOUTES les propriétés de type booléen du controle textbox...
0
svp ou je vais mettre la proprieté WordWrap?
voila le code :
Private Sub ComboBox1_Change()
Dim H As Integer
With Sheets("Feuil1")
For H = 2 To .Range("a65536").End(xlUp).Row
zone_nom.AddItem .Range("a" & H).Value
Next H
End With


End Sub


'Pour le bouton Modifier
Private Sub CommandButton2_Click()
Dim Ligne As Long
Dim I As Integer
Dim Ws As Worksheet
If MsgBox("Confirmez-vous la modification de ce capteur ?", vbYesNo, "Demande de confirmation de modification") = vbYes Then
If Me.zone_nom.ListIndex = -1 Then Exit Sub
Ligne = Me.zone_nom.ListIndex + 2
Ws.Cells(Ligne, "B") = zone_nom
For I = 1 To 7
If Me.Controls("TextBox" & I).Visible = True Then
Ws.Cells(Ligne, I + 2) = Me.Controls("TextBox" & I)
End If
Next I
End If
End Sub



Private Sub quit_Click()

Unload Me

End Sub
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l'insertion de ce nouveau capteur ?", vbYesNo, "Demande de confirmation d'ajout") = vbYes Then
L = Sheets("formulaire").Range("a65536").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide
Range("A" & L).Value = ComboBox1

Range("B" & L).Value = TextBox1
Range("C" & L).Value = TextBox2
Range("D" & L).Value = TextBox3
Range("E" & L).Value = TextBox4
Range("F" & L).Value = TextBox5
Range("G" & L).Value = TextBox6
Range("H" & L).Value = TextBox7
Range("I" & L).Value = TextBox8
Range("J" & L).Value = TextBox9
End If
End Sub




Private Sub zone_nom_Change()

With Sheets("Feuil1")
TextBox1 = .Cells(zone_nom.ListIndex + 2, 3)
TextBox2 = .Cells(zone_nom.ListIndex + 2, 4)
TextBox3 = .Cells(zone_nom.ListIndex + 2, 5)
TextBox4 = .Cells(zone_nom.ListIndex + 2, 6)
TextBox6 = .Cells(zone_nom.ListIndex + 2, 7)
TextBox7 = .Cells(zone_nom.ListIndex + 2, 8)
TextBox8 = .Cells(zone_nom.ListIndex + 2, 9)
TextBox9 = .Cells(zone_nom.ListIndex + 2, 10)
TextBox10 = .Cells(zone_nom.ListIndex + 2, 11)
End With

End Sub
Private Sub UserForm_Initialize() 'Permet d'initialiser les valeurs dans les zones souhaitées

Dim H As Integer
With Sheets("Feuil1")
For H = 2 To .Range("a65536").End(xlUp).Row
zone_nom.AddItem .Range("b" & H).Value
Next H
End With


End Sub
0