Merci curulis,
Ça marche super bien, du moins pour la partie droite avec la TextBox2 qui permet d'ajouter un verbe à la liste. Ça marche un tout petit moins bien avec la Combox1 de la partie gauche. La raison en est simple : quand on tape les lettres avec le clavier au fur et à mesure la ComboBox affiche le premier verbe de la liste qui correspond aux premières lettres tapées, en mettant en surbrillance les dernières lettres du verbe ainsi montré. Ex : je commence à taper DES ; la ComboBox me propose DESABARDA en mettant en surbrillance ABARDA. Mais moi c'est le verbe DESÓUBEÏ que je veux. Si je clique sur le bouton du Ó, cette lettre va alors s'afficher à la fin de DESABARDA pour me donner DESABARDAÓ. Comment faire pour effacer la partie en surbrillance et placer le curseur à la place pour entrer la lettre accentuée ?
Autre chose : le code qui permet de chercher un verbe dans la liste et de l'afficher dans la Combo est le suivant :
"Private Sub ComboBox1_Change()
v = ComboBox1.Text
ComboBox1.Text = UCase(ComboBox1.Text)
If v <> "" Then
With Sheets("Verbe")
Set c = .Columns(2).Find(v, , xlValues, xlWhole)
If Not c Is Nothing Then
TextBox1.Text = c.Offset(, 1).Value
End If
End With
End If
End Sub"
Je me suis dit mais si l'utilisateur entre un verbe qui n'existe pas, soit qu'il soit mal orthographié, soit par une faute de frappe ou qui n'est pas dans la liste des 14000 verbes (d'où la possibilité de l'y ajouter) il faudrait qu'une MsgBox s'affiche pour lui dire que le verbe est introuvable et effacer la ComBox1 et la TextBox1 après avoir cliqué sur OK de la MsgBox.
J'avais donc ajouter le code suivant avant End If :
"Else
MsgBox ("Désolé ! Verbe inconnu. Vérifiez l'orthographe")
ComboBox1.Text = " " 'ComboBox1.Value = " "
TextBox1.Text = " " 'TextBox1.Value = " "
Mais ça ne fonctionne pas. Le message ne s'affiche pas et les Box ne s'effacent pas ni avec .Text ni avec .Value
Une idée ?