Ajouter une ligne dans l'ordre alphabétique [Résolu]

Signaler
Messages postés
12
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
30 mai 2012
-
Messages postés
12
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
30 mai 2012
-
Bonjour à tous,
Ma question d'aujourd'hui est savoir comment faire pour ajouter un ligne dans mon tableau et la placer dans l'ordre alphabétique avec un userform je vous pose mon code actuel qui ne me le met pas exactement dans l'ordre alphabétique et ne me met pas les contours des lignes avec
Private Sub CommandButton1_Click()
With Sheets("Feuil2")
derlign = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & derlign).Value = Me.TextBox1.Value
 
'classement par ordre alphabétique
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End With
 
    With Sheets("Feuil2").Sort
        .SetRange Range("A2:A" & derlign)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Private Sub CommandButton2_Click()

End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub TextBox2_Change()

End Sub

5 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Dégourdis-toi un peu

Voilà pour copier avec même format :
Private Sub CommandButton1_Click()

With Sheets("Feuil3")
derlign = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A" & derlign).Copy Destination:=.Range("A" & derlign + 1)
derlign = derlign + 1
.Range("A" & derlign).EntireRow.ClearContents
.Range("A" & derlign).Value =  Me.TextBox1.Value
 
'classement par ordre alphabétique
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("A1"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
End With
 
    With Sheets("Feuil3").Sort
        .SetRange Range("A2:A" & derlign)
        .Header = xlNo
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With


End Sub

Voilà.
Pour ta colonne B, je vais te laisser réfléchir et faire, hein ...(facile)
On ne traite sur ce forum qu'une difficulté spécifique et isolée et non la progression d'une appli.
Celle objet de ta demande ayant été résolue : un clic sur tag "réponse acceptée" pour libérer ce sujet.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Idem pour ton autre discussion, laissée ouverte elle aussi


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,

Tin code de tri fonctionne comme attendu !
Reste à savoir ce que tu lui reproches et qu'elle en est la raison (qui peut être liée au formatage de ta colonne A et à ce que tu sais dans ta textebox (qui, elle, est du string).
Pour le reste (tes contours). C'est évident ! solution : copie la ligne précédente, puis vide-la de son contenu (clearcontents), puis mets-y ta valeur nouvelle.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
12
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
30 mai 2012

Merci d'avoir été si rapide, tu avais raison c'était le formatage de ma colonne A maintenant ça marche nickel par contre comment on copie la ligne précédente et comment faire pour que ce que je saisie dans une autre textbox soit sur la même ligne mais dans une colonne B par exemple.
Je suis vraiment un débutant en vba les codes pour copier et vider les contenus me sont encore inconnus en tout cas merci pour m'avoir aidé à résoudre mon problème.
Messages postés
12
Date d'inscription
jeudi 19 avril 2012
Statut
Membre
Dernière intervention
30 mai 2012

OK merci je te promets de tout mettre en œuvre pour ne plus faire d'erreur de ce genre merci pour ton temps.