Tri et recherche base de donnée

  • Initiateur de la discussion Jean Michel
  • Date de début
J

Jean Michel

Guest
Bonjour ,

Comment trier une base de donnée excel par ligne par rapport à la 2 colonne qui contient le nom sans tout melanger?

Comment faire pour avoir lors de l'ouverture de la base la fenetre du filtre personnalisé affichée automatiquement par rapport à la 2 colonne qui contient le nom?

Merci

jean michel
 

Pièces jointes

  • EssaiJM.zip
    16 KB · Affichages: 28
C

CBernardT

Guest
Bonjour Jean Michel

A la première question, tu peux utiliser la macro suivante:

Sub trier()
ActiveSheet.UsedRange.Sort Key1:=Range("B2"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub

A la seconde question tu peux essayer les macros :

1- Le code suivant placé dans un module normal :
Sub Filtrer()
With Sheets("Base (2)")
.Range("A1:C8").AutoFilter
End With
End Sub

2- Dans le module de feuille le code suivant :
Private Sub Worksheet_Activate()
Filtrer
End Sub

Cordialement

CBernardT
 
J

Jean Michel

Guest
Merci Bernard,

je n'arrive pas a faire fonctionner la 1 er macro , j'ai un probleme au niveau de
Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End Sub


probleme de syntaxe
Merci

jean michel
 
C

CBernardT

Guest
Re Jean Michel

Selon la version d'Excel, il peut y avoir des incohérences de fonctionnement. J'ai essayé le code suivant sur Excel 2000 et 2003.

Sub trier()
With Sheets("Base (2)").UsedRange
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
End Sub


Pour filtrer j'ai légèrement modifié le code afin qu'il s'adapte à toute zone de travail :

Sub Filtrer()
With Sheets("Base (2)")
.UsedRange.AutoFilter
End With
End Sub

Salut

CBernardT
 

Statistiques des forums

Discussions
312 782
Messages
2 092 068
Membres
105 180
dernier inscrit
Reidnal