A voir également:
- Private sub combobox1_change()
- Liste déroulante de choix excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si et excel - Guide
- Fiche de pointage excel - Télécharger - Tableur
3 réponses
Ivan-hoe
Messages postés
433
Date d'inscription
dimanche 17 février 2008
Statut
Membre
Dernière intervention
17 octobre 2008
309
22 juil. 2008 à 17:02
22 juil. 2008 à 17:02
Bonjour,
Pas de problème dans la manière dont tu remplis ta ComboBox
Le code à modifier est celui de Private Sub ComboBox1_Change()
Tu peux passer par une variable intermédiaire, comme le suggère sabouna, mais ce n'est pas nécessaire.
Le contenu de ta liste déroulante est ComboBox.Value (mais c'est vrai que le .Value est facultatif)
Par contre, son contenu étant une chaîne de caractères, il faut le mettre entre guillemets.
Après, pour traiter tes différents cas, tu fais une succession de tests avec If ... ElseIf ... End If
Pour alléger, tu peux éviter de répéter le nom du classeur et de la feuille en les mettant dans un With... End With
Pas de problème dans la manière dont tu remplis ta ComboBox
Le code à modifier est celui de Private Sub ComboBox1_Change()
Tu peux passer par une variable intermédiaire, comme le suggère sabouna, mais ce n'est pas nécessaire.
Le contenu de ta liste déroulante est ComboBox.Value (mais c'est vrai que le .Value est facultatif)
Par contre, son contenu étant une chaîne de caractères, il faut le mettre entre guillemets.
Après, pour traiter tes différents cas, tu fais une succession de tests avec If ... ElseIf ... End If
Private Sub ComboBox1_Change() If ComboBox1.Value = "MOE" Then Workbooks("Test").Sheets(1).Range("A1") = TextBox2.Value ElseIf ComboBox1.Value = "MOA" Then Workbooks("Test").Sheets(1).Range("B1") = TextBox2.Value ElseIf ComboBox1.Value = "Aléas" Then Workbooks("Test").Sheets(1).Range("C1") = TextBox2.Value End If End Sub
Pour alléger, tu peux éviter de répéter le nom du classeur et de la feuille en les mettant dans un With... End With
Private Sub ComboBox1_Change() With Workbooks("Test").Sheets(1) If ComboBox1.Value = "MOE" Then .Range("A1") = TextBox2.Value ElseIf ComboBox1.Value = "MOA" Then .Range("B1") = TextBox2.Value ElseIf ComboBox1.Value = "Aléas" Then .Range("C1") = TextBox2.Value End If End With End Sub
sabouna_d
Messages postés
20
Date d'inscription
mercredi 2 juillet 2008
Statut
Membre
Dernière intervention
24 juillet 2008
1
22 juil. 2008 à 16:28
22 juil. 2008 à 16:28
salut, je ne suis pas très forte en VBA mais je vais essayer de t'aider
Pour remplir la combobox, en générale j'écrit la liste dans une colonne d'excel et puis je fais un truc de sorte
combobox1.rowsource="Range(.......
ET a ta place j'aurais fait
a=combobox1.value
If a = MOE Then
Workbooks("Test").Sheets(1).Range("A1") = TextBox2
End If
End Sub
Je ne sais pas si ca peux t'aider...
Pour remplir la combobox, en générale j'écrit la liste dans une colonne d'excel et puis je fais un truc de sorte
combobox1.rowsource="Range(.......
ET a ta place j'aurais fait
a=combobox1.value
If a = MOE Then
Workbooks("Test").Sheets(1).Range("A1") = TextBox2
End If
End Sub
Je ne sais pas si ca peux t'aider...
Dans votre explication, la valeur de la Combobox est renvoyée dans A1 ou B1 ou C1, mais qu'en est-il pour que cette valeur soit renvoyée dans la colonne A à la ligne correspondante au choix.
Par exemple, MOE est à la ligne 3 dans la feuille excel, je choisis dans la Combobox "MOE" et je saisis dans la TextBox 100€, je souhaite que ces 100 aille se placer dans la colonne A mais sur la ligne correspondante à MOE soit la 3. Etc pour les autres choix
Merci d'avance de la procédure.
Par exemple, MOE est à la ligne 3 dans la feuille excel, je choisis dans la Combobox "MOE" et je saisis dans la TextBox 100€, je souhaite que ces 100 aille se placer dans la colonne A mais sur la ligne correspondante à MOE soit la 3. Etc pour les autres choix
Merci d'avance de la procédure.