tri automatique par ordre alphabetique et sans doublon

l0l0tte

XLDnaute Junior
Bonjour
Je crois que tout est expliqué dans le titre mais je vais tenter d être le plus explicite possible
j ai fait un tableau ou l on enregistre des personnes en commençant par le nom puis le prénom puis la ville de naissance
Je voudrais qu a chaque fois que l on rempli une ligne complete , un tri par ordre alphabétique du nom ( 1° colonne) se
Lance automatiquement
Merci de bien vouloir m aider
cdlt
 

Pièces jointes

  • tri auto.xlsm
    15.9 KB · Affichages: 63
  • tri auto.xlsm
    15.9 KB · Affichages: 75
  • tri auto.xlsm
    15.9 KB · Affichages: 107

l0l0tte

XLDnaute Junior
Re : tri automatique par ordre alphabetique et sans doublon

rebonjour
j ai fait mes petites recherches et j ai trouvé ce qu il me faut
il me reste toute fois un probleme j arrive pas a appliquer la macro a plusieurs colonnes
un peu d aide svp
 

Pièces jointes

  • Book1.xlsm
    13.1 KB · Affichages: 71
  • Book1.xlsm
    13.1 KB · Affichages: 65
  • Book1.xlsm
    13.1 KB · Affichages: 47

Paf

XLDnaute Barbatruc
Re : tri automatique par ordre alphabetique et sans doublon

Bonjour

les classeurs en PJ des posts #1 et 3 sont totalement différents.

S'il s'agit de trier sur le tableau du premier classeur, dans le code de la feuille concernée, copier :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim DerL As Long

 If Target.Column = 8 And Target.Row > 3 Then
    DerL = Range("F" & Rows.Count).End(xlUp).Row
    Range("F4:H" & DerL).Sort Key1:=Range("F4"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
 End If
End Sub

le tri se déclenchera à la validation de la saisie en colonne H

A+
 

l0l0tte

XLDnaute Junior
Re : tri automatique par ordre alphabetique et sans doublon

salut
merci pour ton aide
j ai regardé ton code il marche tres bien mais seulement pour une seule colonne
peux tu stp essayer de l appliquer au fichier en pieces jointes ?
j ai fait ce fichier pour couvrir tous les cas possibles et ca me permettrai de decortiquer ton code et de comprendre comment ca marche .
et aussi encore une derniere demande si tu sais comment faire pour supprimer les doublons et l inserer dans le code se serait super
cdlt
 

Pièces jointes

  • Book1.xlsm
    18.8 KB · Affichages: 49
  • Book1.xlsm
    18.8 KB · Affichages: 64
  • Book1.xlsm
    18.8 KB · Affichages: 61

Paf

XLDnaute Barbatruc
Re : tri automatique par ordre alphabetique et sans doublon

Re,

Je voudrais qu a chaque fois que l on rempli une ligne complete , un tri par ordre alphabétique du nom ( 1° colonne) se
Lance automatiquement
c'était le sens de ma réponse du post #4.

Maintenant pour 5 tableaux disséminés dans la feuille je ne sais pas faire sans savoir où se fait la saisie, si les tableaux sont fixes...

si c'est pour un exemple de tri, l'enregistreur de macro donne une bonne base.

Bonne suite
 

l0l0tte

XLDnaute Junior
Re : tri automatique par ordre alphabetique et sans doublon

bonjour
desolé j ai mis un peu de temps a repondre j etais a l etranger
j ai fait un nouveau fichier plus simple j espere
j ai reussi a appliquer un tri sur deux tableaux
le probleme c est que le tri se fait des que j ai rempli la premiere cellule et non apres la deuxieme
pouvez vous essayer d arranger mon code pour que ca fonctionne correctement svp?
et puis j insiste un peu j ai fait un troisieme tableau si on peu y appliquer la macro aussi se serait super
 

Pièces jointes

  • Copie de tri auto-1.xlsm
    18 KB · Affichages: 63
  • Copie de tri auto-1.xlsm
    18 KB · Affichages: 64
  • Copie de tri auto-1.xlsm
    18 KB · Affichages: 49

Paf

XLDnaute Barbatruc
Re : tri automatique par ordre alphabetique et sans doublon

re ,

impossible d'ouvrir le classeur, et donc sans voir ce que vous avez fait, essayez de modifier le N° de colonne dans le code proposé au post #4 pour que le déclenchement se produise sur la colonne désirée

If Target.Column = 8 And Target.Row > 3 Then

A+
 

l0l0tte

XLDnaute Junior
Re : tri automatique par ordre alphabetique et sans doublon

alors je reposte
oui j ai deja testé mais ca ne marche pas pour plusieurs colonnes
 

Pièces jointes

  • Copie de tri auto-1.xlsm
    18 KB · Affichages: 47
  • Copie de tri auto-1.xlsm
    18 KB · Affichages: 68
  • Copie de tri auto-1.xlsm
    18 KB · Affichages: 92

Paf

XLDnaute Barbatruc
Re : tri automatique par ordre alphabetique et sans doublon

re,

cette fois c'est OK pour le classeur.

à tester :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim DerL As Long

 If Target.Column = 7 Or Target.Column = 10 Or Target.Column = 13 And Target.Row > 3 Then
    DerL = Cells(Cells.Rows.Count, Target.Column).End(xlUp).Row
    Range(Cells(4, Target.Column - 1), Cells(DerL, Target.Column)).Sort Key1:=Cells(4, Target.Column - 1), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
 End If
End Sub

A+
 

l0l0tte

XLDnaute Junior
Re : tri automatique par ordre alphabetique et sans doublon

ah ca marche super bien
j arrive a l appliquer a plusieurs tableaux a 2 colonnes
comment faire s il y a plusieurs tableaux avec un nombre de colonnes différentes?
j ai reposte le mm fichier mais avec des tableaux ou le nbre de colonnes differes
c est ma derniere requete apres ca je vous embete plus
 

Pièces jointes

  • Copie de tri auto-1.xlsm
    17.1 KB · Affichages: 57
  • Copie de tri auto-1.xlsm
    17.1 KB · Affichages: 65
  • Copie de tri auto-1.xlsm
    17.1 KB · Affichages: 103

Paf

XLDnaute Barbatruc
Re : tri automatique par ordre alphabetique et sans doublon

re

le plus simple est peut-être de faire une condition pour chaque colonne qui doit déclencher le code.

(Pour les colonne 10 et 13 on aurait pu laisser les test groupés puisque que derrière on trie un tableau du même nombre de colonne )

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim DerL As Long

 If Target.Column = 7 And Target.Row > 3 Then
     DerL = Cells(Cells.Rows.Count, Target.Column).End(xlUp).Row
     Range(Cells(4, Target.Column - 2), Cells(DerL, Target.Column)).Sort Key1:=Cells(4, Target.Column - 2), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
 End If
 If Target.Column = 10 And Target.Row > 3 Then
     DerL = Cells(Cells.Rows.Count, Target.Column).End(xlUp).Row
     Range(Cells(4, Target.Column - 1), Cells(DerL, Target.Column)).Sort Key1:=Cells(4, Target.Column - 1), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
 End If
 If Target.Column = 13 And Target.Row > 3 Then
     DerL = Cells(Cells.Rows.Count, Target.Column).End(xlUp).Row
     Range(Cells(4, Target.Column - 1), Cells(DerL, Target.Column)).Sort Key1:=Cells(4, Target.Column - 1), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1
 End If
End Sub

A+
 

Discussions similaires

Statistiques des forums

Discussions
314 017
Messages
2 104 582
Membres
109 082
dernier inscrit
Narlock