Dans votre code, vous voulez vider les textboxs 1 à 13.
Votre Userform n'en contient que 9 et non nommés en séquentiel.
L'erreur est toute à fait normale ...
Je vous propose de remplacer la sub :
VB:
Private Sub ComboBox1_Change()
[B12] = ComboBox1
'For k = 1 To 13
'Controls("Textbox" & k) = ""
'Next
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox _
Then Ctrl = ""
Next
End Sub
Que voulez-vous dire ici? le nom de la feuille est manquant
VB:
[B12] = ComboBox1
et vous devez déclarer toutes les variables, sinon votre code peut devenir un cauchemar
et vous avez écrit dans votre code que le "k" va de 1 à 13, mais les textbox (6,7,8,9,10) n'existent pas dans votre userform
exemple de modifications de la façon dont le code doit être écrit, j'ai supprimé ('[B12] = ComboBox1)
VB:
Private Sub ComboBox1_Change()
'[B12] = ComboBox1
Dim k As Integer
Dim ctrl As MSForms.TextBox
For k = 1 To 5
Set ctrl = Me.Controls("TextBox" & k)
ctrl = ""
Next k
If Not ctrl Is Nothing Then Set ctrl = Nothing
End Sub
Dans votre code, vous voulez vider les textboxs 1 à 13.
Votre Userform n'en contient que 9 et non nommés en séquentiel.
L'erreur est toute à fait normale ...
Je vous propose de remplacer la sub :
VB:
Private Sub ComboBox1_Change()
[B12] = ComboBox1
'For k = 1 To 13
'Controls("Textbox" & k) = ""
'Next
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox _
Then Ctrl = ""
Next
End Sub
@FCMLE44 : je t'ai envoyé un MP, et je suis prêt à continuer l'exo de ton autre sujet :
« Récupérer la valeur d'une cellule dans un userform » ; regarde à partir d'ici.
Dans votre code, vous voulez vider les textboxs 1 à 13.
Votre Userform n'en contient que 9 et non nommés en séquentiel.
L'erreur est toute à fait normale ...
Je vous propose de remplacer la sub :
VB:
Private Sub ComboBox1_Change()
[B12] = ComboBox1
'For k = 1 To 13
'Controls("Textbox" & k) = ""
'Next
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox _
Then Ctrl = ""
Next
End Sub