Affichage d'un texte long dans un textbox en vba
Résolu
Layali20
-
Layali20 -
Layali20 -
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
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
A voir également:
- Afficher texte dans textbox vba
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Texte barré whatsapp - Guide
- Afficher taille dossier windows - Guide
- Mettre un texte en majuscule - Guide
5 réponses
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.
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.
Bonjour,
« svp ou je vais mettre la proprieté WordWrap? »
En général dans l'initialisation du formulaire :
Cordialement
Patrice
« svp ou je vais mettre la proprieté WordWrap? »
En général dans l'initialisation du formulaire :
Private Sub UserForm_Initialize() 'Permet d'initialiser les valeurs dans les zones souhaitées Dim H As Integer Me.TextBox1.WordWrap = True Me.TextBox2.WordWrap = True Me.TextBox3.WordWrap = True Me.TextBox4.WordWrap = True '..... 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
Cordialement
Patrice
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Comme je t'avais dit, il faut WordWrap et aussi Multiline :
Comme je t'avais dit, il faut WordWrap et aussi Multiline :
Private Sub UserForm_Initialize() Dim H As Integer Dim C As Control With Sheets("Feuil1") For H = 2 To .Range("a65536").End(xlUp).Row zone_nom.AddItem .Range("b" & H).Value Next H End With For Each C In Me.Controls If TypeName(C) = "TextBox" Then C.MultiLine = True C.WordWrap = True End If Next C End Sub
« 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
sinon , si on suit cette logique, il faut effectuer cela sur TOUTES les propriétés de type booléen du controle textbox...
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