Inserer un nom dans une colonne via une TextBox [Résolu]

Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
- - Dernière réponse : 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
--
Afficher la suite 

3 réponses

Messages postés
27024
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
11 décembre 2019
318
0
Merci
Bonjour.
Le plus simple c'est de l'ajouter n'importe où
puis de trier la colonne.

Commenter la réponse de jordane45
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
0
Merci
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

--
Commenter la réponse de cco86260
Messages postés
166
Date d'inscription
dimanche 22 janvier 2012
Statut
Membre
Dernière intervention
30 juillet 2015
2
0
Merci
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

--
Commenter la réponse de cco86260