Comment ecrire plusieurs lignes dans une textbox

Fermé
Trufinnette Messages postés 1 Date d'inscription jeudi 13 novembre 2014 Statut Membre Dernière intervention 13 novembre 2014 - Modifié par pijaku le 13/11/2014 à 16:31
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 13 nov. 2014 à 16:36
Bonjour,

Je dois coder un logiciel pour mon école d'aéronautique, mais je ne connais ps grand chose à VBA, quelqu'un pourrait-il m'aider ?

Je dois rentrer le nom d'un constructeur dans une textbox, et le logiciel doit aller chercher dans une liste Excel toutes les lignes se rapportant à ce constructeur et les afficher dans une autre Texbox (appelé ici "UserForm1.Textbox_liste"). Pour le moment, j'arrive à afficher ce que je souhaite, le problème est qu'il écrit par dessus chaque recherche trouvée. Donc en gros, il ne m'affiche que la dernière ligne. Comment dois-je lui dire de revenir à la ligne entre chaque recherche ?
J'ai vu qu'il fallait que j'active "Multiline" dans les propriétés de ma textbox, c'est fait mais cela ne marche toujours pas.. Je ne sais plus quoi faire.
Quelqu'un pourrait-il m'aider svp ?

Mon code pour le moment:

Sub rechercher_constructeur()
Dim Constructeur As String
Dim i As Integer

Constructeur = UserForm1.Textbox_Constructeur3
Sheets("Liste").Activate

Set Recherche3 = Range("C4:C" & derniere_ligne).Find(Constructeur, LookIn:=xlValues)
   
   If Not Recherche3 Is Nothing Then
                  
        For i = 4 To derniere_ligne
            
            UserForm1.Textbox_Liste = " Immatriculation       Proprietaire       Modèle d'aéronef       Port d'attache " & Chr(10) & Chr(13) & vbNewLine
            
            If Constructeur = Cells(i, 3) Then
            
            UserForm1.Textbox_Liste = Cells(i, 1) & "      " & Cells(i, 2) & "      " & Cells(i, 4) & "      " & Cells(i, 5) & Chr(10) & Chr(13) & vbNewLine
                        
            End If
            
        Next i
        
    Else
    
        MsgBox "Le constructeur rentré n'est pas répertorié dans la liste."
    
    End If

End Sub
A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 752
13 nov. 2014 à 16:36
Bonjour,

Si ton textbox est multiline, entre d'abord toutes les données dans une variabme String, puis entre cette variable dans ton textbox :


Sub rechercher_constructeur()
Dim Constructeur As String
Dim i As Integer
Dim monTxt As String
Constructeur = UserForm1.Textbox_Constructeur3
Sheets("Liste").Activate

Set Recherche3 = Range("C4:C" & derniere_ligne).Find(Constructeur, LookIn:=xlValues)
If Not Recherche3 Is Nothing Then
    For i = 4 To derniere_ligne
        If Constructeur = Cells(i, 3) Then
            monTxt = monTxt & Chr(10) & Chr(13) & Cells(i, 1) & "      " & Cells(i, 2) & "      " & Cells(i, 4) & "      " & Cells(i, 5)
        End If
    Next i
    UserForm1.Textbox_Liste = " Immatriculation Proprietaire Modèle d'aéronef Port d'attache " & Chr(10) & Chr(13) & monTxt
Else
    MsgBox "Le constructeur rentré n'est pas répertorié dans la liste."
End If
End Sub 

0