Bonjour François, Hervé
Pour ta première question, Hervé a bien répondu bien qu'il n'ait pas déclaré "Ctrl" (As Control)
Et si jamais tes TextBoxs ont été renommées avec des noms non conventionnels, tu pourras toujours rattraper le coup avec :
Dim Ctrl As Control
For Each Ctrl in Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Then Ctrl = ""
Next
... d'autres exemple de "Mass Update de Control" dans cette démo : Lien supprimé
Sinon pour la seconde question, pas mal ton idée Hervé, mais juste pour la performance car, je pense que je vais t'apprendre qu'une ComboBox est faite pour faire exactement ceci sans avoir à faire d'usine à gaz...
En efftet, soit en mode Design par la fenêtre Propriété, soit en Run Time à l'initialisation du UserForm, on peut faire ceci :
Private Sub UserForm_Initialize()
With Me.ComboBox1
.List() = Range("a1:a10").Value
.MatchEntry = fmMatchEntryComplete
.ShowDropButtonWhen = fmShowDropButtonWhenNever
End With
End Sub
Ce qui est tout de même bien plus simple, mais sinon ton code tient la route.
Bonne Fin de Journée
@+Thierry