Ajouter contenu d'une textbox à la fin d'une liste

Bonsoir à tous,

Je reviens vers vous car je suis bloqué sur quelque chose qui a priori semble simple : ajouter le contenu de la TextBox2 et de la Combobox2 dans les premières cellules vides, colonnes B et C à la fin de la liste dans la feuille Verbe, en cliquant sur le gros bouton "APOUNDRE".

J'ai passé une bonne partie de la journée à faire des recherches sur Internet où j'ai trouvé plusieurs codes mais aucun ne fonctionne.

Les codes des 4 essais que j'ai fait se trouvent dans CommandButton34 de la Feuil4(Sesido) du fichier joint.

J'ai donc besoin de votre aide pour résoudre ce problème.

Merci d'avance

Salut Malaju,

With Sheets("Verbe")
    .Range("B" & .Range("B" & Rows.Count).End(xlUp).Row + 1).Value = Me.TextBox2.Text
    .Range("C" & .Range("C" & Rows.Count).End(xlUp).Row + 1).Value = Me.ComboBox2.Text
End With

A+

Un gros, gros merci à toi. Ça marche super bien.

Tant que j'y suis (jamais rassasié le mec) il y a une sorte de clavier avec des lettres accentuées qu'on ne trouve pas sur un clavier d'ordi.

Quand je clique sur une touche, la lettre s'écrit dans le champ au dessus. Ça marche super bien. Juste un petit problème c'est qu'il faut après repositionner manuellement le curseur après la lettre accentuée qui vient d'être rentrée. Y a-t-il un moyen pour que le curseur se repositionne automatiquement après la lettre insérée ?

Si ce n'est pas possible tant pis je préciserai ce qu'il faut faire dans l'aide que l'on peut visualiser en cliquant sur le bouton du même nom.

Merci d'avance et encore bravo pour ta solution.

Salut Malaju,

tu peux expliquer ce que tu fais avec ces lettres?

Tu corriges un verbe déjà affiché à gauche? Et à droite, pareil : il faut qu'un verbe y soit affiché?

Tu as bien de la chance que ça fonctionne... que des erreurs, ici!!

A+

Le mieux c'est de donner un exemple : si je veux taper le verbe "ÉCRIRE", en langue provençale c'est "ESCRIÉURE", je tape dans le champ (TextBox dans la zone droite ou ComboBox dans la zone gauche) les lettres E - S - C - R - I puis pour taper la lettre É il faut que je connaisse le code de cette lettre et que je le tape sur le pavé numérique avec la touche Alt (ex : Alt+144). Je tape ensuite le reste des lettres. Tout le monde ne connait pas tous les codes de toutes les lettres accentuées utilisées dans la langue provençale. Aussi j'ai créé une sorte de clavier avec ces lettres spéciales. De fait l'utilisateur quand il doit insérer une de ces lettres n'a qu'à cliquer sur la touche désirée.

Ensuite pour continuer à taper le reste du verbe il doit placer manuellement le curseur à droite de la lettre accentuée qu'il vient de rentrer.

J'espère avoir été suffisamment clair dans mes explications.

Impec', Malaju! Un vrai prof'!

Je regarde ça!

A+

Juste une petite question d'ordre personnelle : ton pseudo comporte le nombre 57, cela signifie-t-il que tu es Mosellan ?

Personnellement je suis natif de Metz et Lorrain de très vieille souche. Cela fait 35 ans que je vis en Provence où j'y ai appris cette très belle langue qu'est le Provençal.

@ +

57?

Euh, non... plutôt 1957 si tu vois ce que je veux dire!?

Je vis sous notre belle pluie de Belgique!

A+

Au temps pour moi ! Je suis décidément un gros bêta : c'est écrit dans ton profil que tu es de ce pays qui nous a donné tant et tant d'artistes.

Cela dit 1957 est une très belle année puisque c'est l'année de naissance de mon petit frère.

A+

Salut Malaju,

désolé, je n'arrive pas à travailler sur ton fichier : il bloque sans cesse sur des bêtises (Ucase, Chr...!!!!) et bloque.

Je ne sais pas quoi faire!

A+

curulis57 a écrit :

Salut Malaju,

désolé, je n'arrive pas à travailler sur ton fichier : il bloque sans cesse sur des bêtises (Ucase, Chr...!!!!) et bloque.

Je ne sais pas quoi faire!

A+

Bonjour curulis,

J'ai eu le même problème que toi hier soir en voulant voir si mon fichier fonctionnait sur un autre PC équipé d'Excel 2013 comme moi mais sous W8 et je l'ai résolu comme ça :

Quand il bloque est-ce qu'il t'affiche un message du type "Erreur de compilation - Projet ou bibliothèque introuvable" ? Si oui il y a moyen d'empêcher ce blocage :

  • s'il n'est pas ouvert, ouvre l'éditeur de code (Alt+F11)
  • puis dans la barre de menu de l'éditeur, tu vas dans Outils/Références
  • dans la liste qui s'affiche décoche la ligne marquée "Manquant [telle référence]".
Normalement tout devrait rentrer dans l'ordre

A+

Salut Malaju,

voici pour ta demande : le curseur se place à la fin du mot.

Private Sub CommandButton1_Click()
    Me.ComboBox1.Text = Me.ComboBox1.Text & Chr(192)
    Me.ComboBox1.SelStart = Len(Me.ComboBox1.Text)
    Me.ComboBox1.Activate
End Sub

A+

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 ?

Rechercher des sujets similaires à "ajouter contenu textbox fin liste"