Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Saut de ligne dans TextBox

3 réponses
Avatar
L-A
bonjourles champions

lors d'une recherche =E0 l'aide d'un userform, j'ai un bouton (command bout=
on en bas du forulaire )qui me permet de rechercher des donn=E9es dans une =
base de donn=E9es

dans mon classeur joint faire le test avec la reference 20 20
ces donn=E9es j'aimerai les avoir les unes en dessous des autres or mon cod=
e me les fait mettre =E0 la queue leu leu

ex: a)pressurisation;b)defaut;c)reglages

et j'aimerai les avoir entierement comme cela

a)pressurisation
b)defauts
c)reglages

voici le bout de code

=E0 noter que chaque resultats=20

a)pressurisation
b)defauts
c)reglages

sont dans des cellules dissoci=E9es

http://www.cjoint.com/c/EFxocniSNjL

Sub Recherche_para_INS_DGA()
'
' Recherche_para_INS_DGA Macro
'

'
Dim paragraphe As String
Dim ligne_selectionnee As Integer
MsgBox ligneEnreg
ligne_selectionnee =3D ligneEnreg
paragraphe =3D Cells(ligne_selectionnee, 5).Text
If paragraphe <> "" Then
Dim liRef As Integer
Dim nbLi As Integer
Dim i As Integer
Dim titre As String
Dim explication As String
=20
Sheets("Annexe I INS 161278").Select
Cells(1, 1).Activate
Cells.Find(What:=3Dparagraphe, After:=3DActiveCell, LookIn:=3DxlFor=
mulas, LookAt:=3D _
xlPart, SearchOrder:=3DxlByRows, SearchDirection:=3DxlNext, Mat=
chCase:=3DFalse _
, SearchFormat:=3DFalse).Activate
liRef =3D ActiveCell.Row
'titre =3D ActiveCell.Text
nbLi =3D 1
explication =3D ""
Do
' explication =3D explication & Cells(liRef + nbLi, 2).Text & vb=
CrLf
explication =3D explication & Cells(liRef + nbLi, 2).Text
nbLi =3D nbLi + 1
Loop While Cells(liRef + nbLi, 1).Text =3D ""
Sheets("BD").Select
Me.TextBox7.Value =3D explication ', , titre
Else
MsgBox "A priori pas de CRE n=E9cessaire - veuillez consulter l'ANN=
EXE I de l'INS 161278"
End If
End Sub

merci de votre aide

3 réponses

Avatar
MichD
Bonjour,

La procédure devrait ressembler à ceci.

Le contrôle "TEXTBOX" a une propriété "Multiline" qui faut mettre à TRUE.

A ) Autant que possible, éviter les "Sélect", cela ralentit l'exécution du code...
Il est préférable d'utiliser le With .... End With comme approche...
B ) Toutes les variables devraient être déclarées en début de procédure...
C ) Dans Excel, lorsqu'une variable doit contenir le numéro d'une ligne,
Il est souhaitable de lui donner le type "Long" compte tenu du nombre de
lignes possibles dans Excel.


'-------------------------------------------------
Sub Recherche_para_INS_DGA()

' Recherche_para_INS_DGA Macro

Dim paragraphe As String
Dim ligne_selectionnee As Long
Dim LiRef As Variant
Dim nbLi As Long
Dim i As Long
Dim titre As String
Dim Explication As String

MsgBox ligneEnreg
ligne_selectionnee = ligneEnreg
With Worksheets("BD")
paragraphe = .Cells(ligne_selectionnee, 5).Text
End With

If paragraphe <> "" Then
With Sheets("Annexe I INS 161278")
LiRef = .Cells.Find(What:=paragraphe, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Row

If IsNumeric(LiRef) Then
nbLi = 1
Explication = ""
Do
Explication = Explication & .Cells(LiRef + nbLi, 2).Text & vbCrLf
nbLi = nbLi + 1
Loop While .Cells(LiRef + nbLi, 1).Text = ""

Me.TextBox7.Value = Explication ', , titre
End If
End With
Else
MsgBox "A priori pas de CRE nécessaire - veuillez consulter l'ANNEXE I de l'INS 161278"
End If
End Sub
'-------------------------------------------------

"L-A" a écrit dans le message de groupe de discussion :


bonjourles champions

lors d'une recherche à l'aide d'un userform, j'ai un bouton (command bouton en bas du forulaire )qui
me permet de rechercher des données dans une base de données

dans mon classeur joint faire le test avec la reference 20 20
ces données j'aimerai les avoir les unes en dessous des autres or mon code me les fait mettre à la
queue leu leu

ex: a)pressurisation;b)defaut;c)reglages

et j'aimerai les avoir entierement comme cela

a)pressurisation
b)defauts
c)reglages

voici le bout de code

à noter que chaque resultats

a)pressurisation
b)defauts
c)reglages

sont dans des cellules dissociées

http://www.cjoint.com/c/EFxocniSNjL

Sub Recherche_para_INS_DGA()
'
' Recherche_para_INS_DGA Macro
'

'
Dim paragraphe As String
Dim ligne_selectionnee As Integer
MsgBox ligneEnreg
ligne_selectionnee = ligneEnreg
paragraphe = Cells(ligne_selectionnee, 5).Text
If paragraphe <> "" Then
Dim liRef As Integer
Dim nbLi As Integer
Dim i As Integer
Dim titre As String
Dim explication As String

Sheets("Annexe I INS 161278").Select
Cells(1, 1).Activate
Cells.Find(What:=paragraphe, After:¬tiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:úlse _
, SearchFormat:úlse).Activate
liRef = ActiveCell.Row
'titre = ActiveCell.Text
nbLi = 1
explication = ""
Do
' explication = explication & Cells(liRef + nbLi, 2).Text & vbCrLf
explication = explication & Cells(liRef + nbLi, 2).Text
nbLi = nbLi + 1
Loop While Cells(liRef + nbLi, 1).Text = ""
Sheets("BD").Select
Me.TextBox7.Value = explication ', , titre
Else
MsgBox "A priori pas de CRE nécessaire - veuillez consulter l'ANNEXE I de l'INS 161278"
End If
End Sub

merci de votre aide
Avatar
L-A
Bonjour MichD

merci pour le code

je l'ai remplacé mais cela fonctionne parfaitement

merci pour le multiline

en revanche comment aligne t'on en hauteur et largeur dans une textbox?




Le mardi 23 juin 2015 16:53:29 UTC+2, MichD a écrit :
Bonjour,

La procédure devrait ressembler à ceci.

Le contrôle "TEXTBOX" a une propriété "Multiline" qui faut mettre à TRUE.

A ) Autant que possible, éviter les "Sélect", cela ralentit l'exécu tion du code...
Il est préférable d'utiliser le With .... End With comme approc he...
B ) Toutes les variables devraient être déclarées en début de pro cédure...
C ) Dans Excel, lorsqu'une variable doit contenir le numéro d'une ligne ,
Il est souhaitable de lui donner le type "Long" compte tenu du nombr e de
lignes possibles dans Excel.


'-------------------------------------------------
Sub Recherche_para_INS_DGA()

' Recherche_para_INS_DGA Macro

Dim paragraphe As String
Dim ligne_selectionnee As Long
Dim LiRef As Variant
Dim nbLi As Long
Dim i As Long
Dim titre As String
Dim Explication As String

MsgBox ligneEnreg
ligne_selectionnee = ligneEnreg
With Worksheets("BD")
paragraphe = .Cells(ligne_selectionnee, 5).Text
End With

If paragraphe <> "" Then
With Sheets("Annexe I INS 161278")
LiRef = .Cells.Find(What:=paragraphe, LookIn:=xlFormulas, L ookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNex t, MatchCase:úlse _
, SearchFormat:úlse).Row

If IsNumeric(LiRef) Then
nbLi = 1
Explication = ""
Do
Explication = Explication & .Cells(LiRef + nbLi, 2).Tex t & vbCrLf
nbLi = nbLi + 1
Loop While .Cells(LiRef + nbLi, 1).Text = ""

Me.TextBox7.Value = Explication ', , titre
End If
End With
Else
MsgBox "A priori pas de CRE nécessaire - veuillez consulter l'ANNEX E I de l'INS 161278"
End If
End Sub
'-------------------------------------------------

"L-A" a écrit dans le message de groupe de discussion :


bonjourles champions

lors d'une recherche à l'aide d'un userform, j'ai un bouton (command bo uton en bas du forulaire )qui
me permet de rechercher des données dans une base de données

dans mon classeur joint faire le test avec la reference 20 20
ces données j'aimerai les avoir les unes en dessous des autres or mon c ode me les fait mettre à la
queue leu leu

ex: a)pressurisation;b)defaut;c)reglages

et j'aimerai les avoir entierement comme cela

a)pressurisation
b)defauts
c)reglages

voici le bout de code

à noter que chaque resultats

a)pressurisation
b)defauts
c)reglages

sont dans des cellules dissociées

http://www.cjoint.com/c/EFxocniSNjL

Sub Recherche_para_INS_DGA()
'
' Recherche_para_INS_DGA Macro
'

'
Dim paragraphe As String
Dim ligne_selectionnee As Integer
MsgBox ligneEnreg
ligne_selectionnee = ligneEnreg
paragraphe = Cells(ligne_selectionnee, 5).Text
If paragraphe <> "" Then
Dim liRef As Integer
Dim nbLi As Integer
Dim i As Integer
Dim titre As String
Dim explication As String

Sheets("Annexe I INS 161278").Select
Cells(1, 1).Activate
Cells.Find(What:=paragraphe, After:¬tiveCell, LookIn:=xlF ormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, M atchCase:úlse _
, SearchFormat:úlse).Activate
liRef = ActiveCell.Row
'titre = ActiveCell.Text
nbLi = 1
explication = ""
Do
' explication = explication & Cells(liRef + nbLi, 2).Text & vbCrLf
explication = explication & Cells(liRef + nbLi, 2).Text
nbLi = nbLi + 1
Loop While Cells(liRef + nbLi, 1).Text = ""
Sheets("BD").Select
Me.TextBox7.Value = explication ', , titre
Else
MsgBox "A priori pas de CRE nécessaire - veuillez consulter l'A NNEXE I de l'INS 161278"
End If
End Sub

merci de votre aide
Avatar
MichD
J'ai modifié la procédure soumise plutôt!

J'ai ajouté cette procédure :
'----------------------------------------------------------
Private Sub TextBox7_Change()

With Me.TextBox7
If Me.TextBox7.Value = "" Then
.Width = 246
.Height = 15.75
Else
.AutoSize = True
End If
End With

End Sub
'----------------------------------------------------------

Dans cette procédure, j'ai ajouté ceci :

Private Sub ChoixNom_click()

'Vide le champ du Textbox7
Me.TextBox7 = ""


Ton fichier en retour avec toutes les corrections : http://www.cjoint.com/c/EFxu25Czzjn