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
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