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

simoh1313 12 Messages postés jeudi 19 avril 2012Date d'inscription 30 mai 2012 Dernière intervention - 27 avril 2012 à 09:50 - Dernière réponse : simoh1313 12 Messages postés jeudi 19 avril 2012Date d'inscription 30 mai 2012 Dernière intervention
- 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
Afficher la suite 

Votre réponse

5 réponses

ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 avril 2012 à 11:17
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 avril 2012 à 11:18
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ucfoutu
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 27 avril 2012 à 10:50
0
Utile
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
Commenter la réponse de ucfoutu
simoh1313 12 Messages postés jeudi 19 avril 2012Date d'inscription 30 mai 2012 Dernière intervention - 27 avril 2012 à 11:04
0
Utile
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.
Commenter la réponse de simoh1313
simoh1313 12 Messages postés jeudi 19 avril 2012Date d'inscription 30 mai 2012 Dernière intervention - 27 avril 2012 à 11:21
0
Utile
OK merci je te promets de tout mettre en œuvre pour ne plus faire d'erreur de ce genre merci pour ton temps.
Commenter la réponse de simoh1313

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.