Ajouter une ligne dans l'ordre alphabétique

Résolu
simoh1313 Messages postés 12 Date d'inscription jeudi 19 avril 2012 Statut Membre Dernière intervention 30 mai 2012 - 27 avril 2012 à 09:50
simoh1313 Messages postés 12 Date d'inscription jeudi 19 avril 2012 Statut Membre Dernière intervention 30 mai 2012 - 27 avril 2012 à 11:21
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2012 à 11:17
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2012 à 11:18
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
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 avril 2012 à 10:50
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
0
simoh1313 Messages postés 12 Date d'inscription jeudi 19 avril 2012 Statut Membre Dernière intervention 30 mai 2012
27 avril 2012 à 11:04
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
simoh1313 Messages postés 12 Date d'inscription jeudi 19 avril 2012 Statut Membre Dernière intervention 30 mai 2012
27 avril 2012 à 11:21
OK merci je te promets de tout mettre en œuvre pour ne plus faire d'erreur de ce genre merci pour ton temps.
0
Rejoignez-nous