Soucis avec combobox change()
Résolu/Fermé
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
-
5 nov. 2014 à 02:18
solene85 Messages postés 391 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 9 janvier 2016 - 6 nov. 2014 à 19:53
solene85 Messages postés 391 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 9 janvier 2016 - 6 nov. 2014 à 19:53
A voir également:
- Soucis avec combobox change()
- Change dns - Guide
- Change qwerty to azerty - Guide
- Pdf x change viewer - Télécharger - PDF
- Facebook piraté et adresse email changé - Guide
- Image qui change quand on bouge ✓ - Forum Graphisme
14 réponses
f894009
Messages postés
17206
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
22 novembre 2024
1 711
5 nov. 2014 à 08:16
5 nov. 2014 à 08:16
Bonjour,
mettez votre fichier a disposition en changeant les donnees sensible sur:
https://www.cjoint.com/
mettez votre fichier a disposition en changeant les donnees sensible sur:
https://www.cjoint.com/
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
14
5 nov. 2014 à 11:26
5 nov. 2014 à 11:26
Bonjour f894009
voici le lien du fichier à disposition
https://www.cjoint.com/?DKflDOVj5bv
merci
voici le lien du fichier à disposition
https://www.cjoint.com/?DKflDOVj5bv
merci
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 5/11/2014 à 12:11
Modifié par Mike-31 le 5/11/2014 à 12:11
Bonjour,
regarde comme cela
Private Sub ComboBox1_Change()
If ComboBox1.Value = "instruction1" Then
résultat1
Else
résultat2
End If
End Sub
et si tu as plusieurs instructions
Private Sub ComboBox1_Change()
If ComboBox1.Value = "instruction1" Then
résultat1
ElseIf ComboBox1.Value = "instruction2" Then
résultat2
ElseIf ComboBox1.Value = "instruction3" Then
résultat3
Else
résultat4
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
regarde comme cela
Private Sub ComboBox1_Change()
If ComboBox1.Value = "instruction1" Then
résultat1
Else
résultat2
End If
End Sub
et si tu as plusieurs instructions
Private Sub ComboBox1_Change()
If ComboBox1.Value = "instruction1" Then
résultat1
ElseIf ComboBox1.Value = "instruction2" Then
résultat2
ElseIf ComboBox1.Value = "instruction3" Then
résultat3
Else
résultat4
End If
End Sub
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
14
5 nov. 2014 à 12:31
5 nov. 2014 à 12:31
bonjour Mike-31
avant j'avais trois instructions et cela fonctionnait très bien avec la combobox
j'ai modifié ma liste pour n'avoir que deux choix et ai donc enlevé
le elseif de la procédure et là problème.
voici le lien de mon fichier
https://www.cjoint.com/?3KfmJRmTAg6
avant j'avais trois instructions et cela fonctionnait très bien avec la combobox
j'ai modifié ma liste pour n'avoir que deux choix et ai donc enlevé
le elseif de la procédure et là problème.
voici le lien de mon fichier
https://www.cjoint.com/?3KfmJRmTAg6
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
5 nov. 2014 à 14:34
5 nov. 2014 à 14:34
Re,
peux tu répondre à la question de Maurice s'il te plait, pour ma part je ne vois pas de combobox à deux conditions dans ton fichier
peux tu répondre à la question de Maurice s'il te plait, pour ma part je ne vois pas de combobox à deux conditions dans ton fichier
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
14
5 nov. 2014 à 15:00
5 nov. 2014 à 15:00
bonjour Maurice
il s'agit du userform1 combobox5
avec mes excuses pour cette omission
il s'agit du userform1 combobox5
avec mes excuses pour cette omission
Mike-31
Messages postés
18351
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 décembre 2024
5 108
Modifié par Mike-31 le 5/11/2014 à 15:28
Modifié par Mike-31 le 5/11/2014 à 15:28
Re,
le code fonctionne parfaitement, si tu choisis vaisselle cela affiche bien ta ligne de contrôle comme si tu choisis choix2 cela affiche bien l'autre ligne
tu peux ajouter .value dans le code
Private Sub ComboBox5_Change()
Worksheets("bonsortie").Range("B1").ClearContents
If ComboBox5.Value = Choix1 Then
TextBox9.Visible = True
TextBox10.Visible = True
TextBox11.Visible = True
TextBox12.Visible = False
TextBox13.Visible = False
TextBox14.Visible = False
TextBox19.Visible = True
TextBox20.Visible = False
ListBox1.Visible = True
ListBox2.Visible = False
Label8.Visible = True
Label12.Visible = False
Else
ComboBox5.Value = Choix2
TextBox9.Visible = False
TextBox10.Visible = False
TextBox11.Visible = False
TextBox12.Visible = True
TextBox13.Visible = True
TextBox14.Visible = True
TextBox19.Visible = False
TextBox20.Visible = True
ListBox1.Visible = False
ListBox2.Visible = True
Label8.Visible = False
Label12.Visible = True
End If
End Sub
par contre le calcul ne se fait pas sur les texbox 19 et 20
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
le code fonctionne parfaitement, si tu choisis vaisselle cela affiche bien ta ligne de contrôle comme si tu choisis choix2 cela affiche bien l'autre ligne
tu peux ajouter .value dans le code
Private Sub ComboBox5_Change()
Worksheets("bonsortie").Range("B1").ClearContents
If ComboBox5.Value = Choix1 Then
TextBox9.Visible = True
TextBox10.Visible = True
TextBox11.Visible = True
TextBox12.Visible = False
TextBox13.Visible = False
TextBox14.Visible = False
TextBox19.Visible = True
TextBox20.Visible = False
ListBox1.Visible = True
ListBox2.Visible = False
Label8.Visible = True
Label12.Visible = False
Else
ComboBox5.Value = Choix2
TextBox9.Visible = False
TextBox10.Visible = False
TextBox11.Visible = False
TextBox12.Visible = True
TextBox13.Visible = True
TextBox14.Visible = True
TextBox19.Visible = False
TextBox20.Visible = True
ListBox1.Visible = False
ListBox2.Visible = True
Label8.Visible = False
Label12.Visible = True
End If
End Sub
par contre le calcul ne se fait pas sur les texbox 19 et 20
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Bonjour
je prefere avec Listindex
Private Sub ComboBox5_Change()
If ComboBox5.ListIndex = 0 Then
TextBox9.Visible = True
TextBox10.Visible = True
TextBox11.Visible = True
TextBox12.Visible = False
TextBox13.Visible = False
TextBox14.Visible = False
TextBox19.Visible = True
TextBox20.Visible = False
ListBox1.Visible = True
ListBox2.Visible = False
Label8.Visible = True
Label12.Visible = False
Else
TextBox9.Visible = False
TextBox10.Visible = False
TextBox11.Visible = False
TextBox12.Visible = True
TextBox13.Visible = True
TextBox14.Visible = True
TextBox19.Visible = False
TextBox20.Visible = True
ListBox1.Visible = False
ListBox2.Visible = True
Label8.Visible = False
Label12.Visible = True
End If
End Sub
et evite de faire 2 fois la combox5 dur
et pour 2 varriable on fait comme ca
ComboBox5.Clear
ComboBox5.AddItem "Vaisselle"
ComboBox5.AddItem "Materiel"
ComboBox5.ListIndex = 0
A+
maurice
je prefere avec Listindex
Private Sub ComboBox5_Change()
If ComboBox5.ListIndex = 0 Then
TextBox9.Visible = True
TextBox10.Visible = True
TextBox11.Visible = True
TextBox12.Visible = False
TextBox13.Visible = False
TextBox14.Visible = False
TextBox19.Visible = True
TextBox20.Visible = False
ListBox1.Visible = True
ListBox2.Visible = False
Label8.Visible = True
Label12.Visible = False
Else
TextBox9.Visible = False
TextBox10.Visible = False
TextBox11.Visible = False
TextBox12.Visible = True
TextBox13.Visible = True
TextBox14.Visible = True
TextBox19.Visible = False
TextBox20.Visible = True
ListBox1.Visible = False
ListBox2.Visible = True
Label8.Visible = False
Label12.Visible = True
End If
End Sub
et evite de faire 2 fois la combox5 dur
et pour 2 varriable on fait comme ca
ComboBox5.Clear
ComboBox5.AddItem "Vaisselle"
ComboBox5.AddItem "Materiel"
ComboBox5.ListIndex = 0
A+
maurice
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
14
5 nov. 2014 à 16:39
5 nov. 2014 à 16:39
mike-31 - oui mike il fonctionne mais ce qui me chagrinait c'est que materiel apparaisse en premier et ensuite lorsque je clique sur la flêche vaisselle et matériel apparaissent et je peux faire mon choix. je voulais au départ une combobox vide et appuyer sur la flêche pour faire apparaitre vaisselle et materiel et pouvoir choisir ou qu'apparaisse par défaut en premier vaisselle et ensuite cliquer sur la flêche pour faire apparaitre materiel.
mais le problème provenait surement du fait que, comme le dit maurice, j'avais fait "2 fois la combox5 dur".
les valeurs des textbox19 et 20 apparaissent lorsque je confirme les quantités
via mon msgbox
je vais donc faire comme le préconise Maurice
mike-31 - maurice je vous remercie beaucoup pour votre aide une fois de plus
mais le problème provenait surement du fait que, comme le dit maurice, j'avais fait "2 fois la combox5 dur".
les valeurs des textbox19 et 20 apparaissent lorsque je confirme les quantités
via mon msgbox
je vais donc faire comme le préconise Maurice
mike-31 - maurice je vous remercie beaucoup pour votre aide une fois de plus
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
14
5 nov. 2014 à 17:51
5 nov. 2014 à 17:51
ça va rentrer dans ma petite tête, Maurice
merci pour ta patience
merci pour ta patience
Bonjour
voila une astuce pour les quantitée
Private Sub ListBox1_Change()
'je recupère la valeur de la feuil2 dans la textbox
Ligne = ListBox1.ListIndex + 2
With Feuil2
TextBox9 = .Cells(Ligne, 4)
TextBox10 = ""
TextBox11 = Replace(.Cells(Ligne, 5), ",", ".")
TextBox19 = ""
TextBox10.SetFocus
End With
End Sub
Private Sub TextBox10_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox19.Value = Val(TextBox10.Value) * Val(TextBox11.Value)
End Sub
A+
Maurice
voila une astuce pour les quantitée
Private Sub ListBox1_Change()
'je recupère la valeur de la feuil2 dans la textbox
Ligne = ListBox1.ListIndex + 2
With Feuil2
TextBox9 = .Cells(Ligne, 4)
TextBox10 = ""
TextBox11 = Replace(.Cells(Ligne, 5), ",", ".")
TextBox19 = ""
TextBox10.SetFocus
End With
End Sub
Private Sub TextBox10_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
Select Case KeyAscii
Case 48 To 57
KeyAscii = KeyAscii
Case Else
KeyAscii = 0
End Select
End Sub
Private Sub TextBox10_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox19.Value = Val(TextBox10.Value) * Val(TextBox11.Value)
End Sub
A+
Maurice
solene85
Messages postés
391
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
9 janvier 2016
14
6 nov. 2014 à 19:53
6 nov. 2014 à 19:53
Bonsoir Maurice,
je vais modifier mon programme pour y mettre ton astuce
je te tiens informé dans la journée de demain 7 nov
merci beaucoup pour l'intérêt que tu portes à mon projet
je vais modifier mon programme pour y mettre ton astuce
je te tiens informé dans la journée de demain 7 nov
merci beaucoup pour l'intérêt que tu portes à mon projet