Liaisoncombobox et textbox
Résolu/Fermé
azeuur31
Messages postés
12
Date d'inscription
mardi 30 octobre 2018
Statut
Membre
Dernière intervention
6 décembre 2018
-
Modifié le 31 oct. 2018 à 12:44
f894009 Messages postés 17241 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 février 2025 - 1 nov. 2018 à 07:11
f894009 Messages postés 17241 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 février 2025 - 1 nov. 2018 à 07:11
A voir également:
- Liaisoncombobox et textbox
- Vba textbox date format dd/mm/yyyy ✓ - Forum Excel
- Récupérer valeur textbox vba ✓ - Forum VB / VBA
- Vba textbox ✓ - Forum VB / VBA
- Programmer une textbox sous vba ✓ - Forum VB / VBA
- Comment concatener plusieurs textbox ✓ - Forum Excel
4 réponses
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
31 oct. 2018 à 14:33
31 oct. 2018 à 14:33
Bonjour,
une autre facon de coder:
une autre facon de coder:
Private Sub ComboBox1_Change() If ComboBox1 <> "" Then Call Remp_Textbox End Sub Sub Remp_Textbox() With Worksheets("Database") Set plage = .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row) 'Plage de cellules non vides Nb = Application.CountIf(plage, CLng(ComboBox1)) 'nombre de fois val combobox1 trouvees If Nb > 2 Then 'si >2 =2 Nb = 2 ElseIf Nb = 0 Then MsgBox "Pas trouve.....!!!" Exit Sub End If 'recherche val combobox1 Lig = 1 For n = 1 To Nb Lig = .Columns(1).Find(ComboBox1, .Cells(Lig, 1), , xlWhole).Row 'ligne ok Me.Controls("Textbox" & n).Value = .Range("B" & Lig) 'remplissage des deux Textbox Next n End With End Sub
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
31 oct. 2018 à 14:43
31 oct. 2018 à 14:43
Bonjour Azeuur, bonjour le forum,
Pas clair tout ça !... Pour chaque occurrence trouvée, tu affiches la valeur en colonne B dans une TextBox(i) et tu incrémentes i. Comment peux-tu savoir à l'avance combien de texboxes il te faudra ? Pourquoi en début de code tu ne vides que la TextBox1 et pas les autres ?
Je pense que ce qu'il te faut, ce ne sont pas plusieurs texboxes mais soit une nouvelle ComboBox soit une ListBox. Ensuite, pour chaque occurrence trouvée tu rajoute dans la liste la valeur en colonne B...
Pas clair tout ça !... Pour chaque occurrence trouvée, tu affiches la valeur en colonne B dans une TextBox(i) et tu incrémentes i. Comment peux-tu savoir à l'avance combien de texboxes il te faudra ? Pourquoi en début de code tu ne vides que la TextBox1 et pas les autres ?
Je pense que ce qu'il te faut, ce ne sont pas plusieurs texboxes mais soit une nouvelle ComboBox soit une ListBox. Ensuite, pour chaque occurrence trouvée tu rajoute dans la liste la valeur en colonne B...
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
31 oct. 2018 à 14:45
31 oct. 2018 à 14:45
Bonjour ThauTheme
il a ecrit:
"Ce nombre est utilisé pour limiter le nombre d'itération à 2 (nombre de TextBox) "
il a ecrit:
"Ce nombre est utilisé pour limiter le nombre d'itération à 2 (nombre de TextBox) "
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
31 oct. 2018 à 14:48
31 oct. 2018 à 14:48
Oui merci F, je navet pas vu...
azeuur31
Messages postés
12
Date d'inscription
mardi 30 octobre 2018
Statut
Membre
Dernière intervention
6 décembre 2018
Modifié le 31 oct. 2018 à 15:34
Modifié le 31 oct. 2018 à 15:34
Ok merci et pour l'incrémenter dans mon programme déjà mis en place avec un formulaire, ou est ce que je l'implante car si je met ta premières ligne , j'ai un doublon. dsl j'apprend depuis la semaine dernière
azeuur31
Messages postés
12
Date d'inscription
mardi 30 octobre 2018
Statut
Membre
Dernière intervention
6 décembre 2018
Modifié le 31 oct. 2018 à 15:33
Modifié le 31 oct. 2018 à 15:33
Dim Désignation
Dim Intervention
Private Sub ComboBox1_Change()
Select Case ComboBox1.Value
Case 0 'Mixte informatique
Désignation = "Mixte informatique"
Case 1 'Sanitaires Mixte informatique IT
Désignation = "Sanitaires Mixte informatique IT"
Case 2 'Sanitaires Homme CH1
Désignation = "Sanitaires Homme CH1"
......
End Select
End Sub
Private Sub ComboBox2_Change()
Select Case ComboBox2.Value
Case 0 'Débouchage des toilettes
Intervention = "Débouchage des toilettes"
Case 1 'Débouchage des douches
Intervention = "Débouchage des douches"
Case 2 'Autre
Intervention = "Autre"
...
End Select
End Sub
Private Sub Image2_Click()
Dim nbligne, Nnbligne
Dim Sel, NSel
Unload UserForm1
'Sauve le fichier
ActiveWorkbook.Save
'Selection la case A de la dernière ligne
Nnbligne = Range("K1").Value
NSel = "A" & Nnbligne
Range(NSel).Select
End Sub
Private Sub Image1_Click()
Sheets("Classement par nom").Select
Dim nbligne, Nnbligne
Dim Sel, NSel
Dim Val, NbreInter
If (ComboBox1.Value <> "" And ComboBox2.Value <> "" And TextBox1.Value <> "" And TextBox2.Value <> "" And TextBox3.Value <> "") Then
nbligne = Range("K1").Value
Nnbligne = nbligne + 1
Sel = "A" & nbligne & ":G" & nbligne
Range(Sel).Select
Selection.Copy
Sel = "A" & Nnbligne
Range(Sel).Select
ActiveSheet.Paste
Sel = "A" & nbligne
NSel = "A" & Nnbligne
Val = Range(Sel).Value
Range(NSel).Value = Val + 1
NbreInter = Val + 1
NSel = "B" & Nnbligne
Range(NSel).Value = Désignation
NSel = "F" & Nnbligne
Range(NSel).Value = Intervention
NSel = "D" & Nnbligne
Range(NSel).Value = Range("D2").Value
'remplie les valeurs renseignées
Dim commentaire
commentaire = TextBox1.Value 'N_° de la désignation
NSel = "C" & Nnbligne
Range(NSel).Value = commentaire
commentaire = TextBox2.Value 'Date
NSel = "D" & Nnbligne
Range(NSel).Value = commentaire
commentaire = TextBox3.Value 'N_° de la fiche
NSel = "G" & Nnbligne
Range(NSel).Value = commentaire
'Désignation
NSel = "B" & Nnbligne
Range(NSel).Value = Désignation
'Intervention
NSel = "F" & Nnbligne
Range(NSel).Value = Intervention
'Efface les commbox et les textbox
ComboBox1.Value = ""
ComboBox2.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
Else
MsgBox "Toutes les cases ne sont pas renseignées"
End If
End Sub
Private Sub UserForm_Activate()
'ComboBox1
ComboBox1.AddItem "Sanitaires Mixte informatique" 'ListIndex = 0
ComboBox1.AddItem "Sanitaires Mixte informatique IT" 'ListIndex = 1
...
'Use drop-down list
ComboBox1.Style = fmStyleDropDownList
'Combo box values are ListIndex values
ComboBox1.BoundColumn = 0
'ComboBox2
ComboBox2.AddItem "Débouchage des toilettes" 'ListIndex = 0
ComboBox2.AddItem "Débouchage des douches" 'ListIndex = 1
...
'Use drop-down list
ComboBox2.Style = fmStyleDropDownList
'Combo box values are ListIndex values
ComboBox2.BoundColumn = 0
End Sub
f894009
Messages postés
17241
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 février 2025
1 713
1 nov. 2018 à 07:11
1 nov. 2018 à 07:11
Bonjour,
Puisque vous avez choisi les messages prives. Informe le reste du monde ou vous faites peut-être une demande des deux cote!!!
Puisque vous avez choisi les messages prives. Informe le reste du monde ou vous faites peut-être une demande des deux cote!!!