Inserer un nom dans une colonne via une TextBox

Résolu
cco86260 Messages postés 166 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 30 juillet 2015 - 13 nov. 2013 à 21:48
cco86260 Messages postés 166 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 30 juillet 2015 - 14 nov. 2013 à 09:01
Bonjour à tous,


Voici mon problème :

J'ai un USF contenant une TextBox, un bouton Ajouter, un bouton Fermer et une ListBox.

Leur Fonction :

La TextBox sert a y entrer un nom prénom, puis quand je clique sur le bouton Ajouter il me l'ajoute dans la colonne A de la feuille LIST_NOMS en respectant l'ordre alphabétique.

Mais là je sèche, je ne trouve pas de piste sur internet ou je n'ai pas les bon mot clé, mais si vous pouviez me guider j'en serais ravi...

Merci à tous,

bonne soirée

Christian
--

3 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
13 nov. 2013 à 22:29
Bonjour.
Le plus simple c'est de l'ajouter n'importe où
puis de trier la colonne.

0
cco86260 Messages postés 166 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 30 juillet 2015 2
14 nov. 2013 à 08:38
Bonjour Jordane45,

Donc j'ai suivi ton conseil, j'ai lancer un enregistrement de macro puis ajouter un nom à la dernière ligne et fais le tri de A à Z.

Voici le code :

Sub ajoutettri()
'
' ajoutettri Macro
'

'
    ActiveWindow.SmallScroll Down:=-3
    Range("A146").Select
    ActiveCell.FormulaR1C1 = "ABDEL Karim"
    Columns("A:A").Select
    Range("A139").Activate
    ActiveWindow.SmallScroll Down:=-9
    ActiveWorkbook.Worksheets("LIST_NOMS").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("LIST_NOMS").Sort.SortFields.Add Key:=Range("A139") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("LIST_NOMS").Sort
        .SetRange Range("A1:A146")
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


Mais ce que je voudrais c'est que lorsque je rentre le nom dans la TextBox, il me l'insère dans la dernière cellule vide puis me fasse le tri.

Merci pour le coup de main, il est vrai qu'avec l'enregistreur de macro on va sur la bonne piste, reste à savoir interpréter ce qu'il se passe.

Bonne journée,

Christian

--
0
cco86260 Messages postés 166 Date d'inscription dimanche 22 janvier 2012 Statut Membre Dernière intervention 30 juillet 2015 2
14 nov. 2013 à 09:01
Re,


Bon ça y est j'ai le code il fonctionne !!

Le voici si quelqu'un le désire ;)

Private Sub CommandButton1_Click()
Dim crit As Range
If TextBox1 = "" Then
MsgBox "Nom et prénom, obligatoire"
Else
cmpt = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("a" & cmpt) = TextBox1
End If
Range("A1").Select
Set crit = Range("A2:A" & cmpt)
    ActiveWorkbook.Worksheets("LIST_NOMS").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("LIST_NOMS").Sort.SortFields.Add Key:=crit, _
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("LIST_NOMS").Sort
        .SetRange Range("A1:A" & cmpt)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub


Voili voilou, et merci pour tout

--
0
Rejoignez-nous