Soucis avec combobox change()
Résolu
solene85
Messages postés
391
Date d'inscription
Statut
Membre
Dernière intervention
-
solene85 Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
solene85 Messages postés 391 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Soucis avec combobox change()
- Change dns - Guide
- Change qwerty to azerty - Guide
- Heure de connexion whatsapp qui ne changé pas - Accueil - WhatsApp
- Facebook piraté et adresse email changé - Guide
- Pdf x change viewer - Télécharger - PDF
14 réponses
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/
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.
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
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
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
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
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