Tri dynamique sur plusieurs tableaux ???

  • Initiateur de la discussion Initiateur de la discussion karakoman1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

karakoman1

XLDnaute Occasionnel
Bonjour à tous,
J'ai trouvé sur le site de boisgontier une macro permettant de faire un tri dynamique d'un tableau.
Je cherche à savoir si il est possible de trier dynamiquement plusieurs tableaux séparément sur une même feuille et si oui, serait il possible de le faire sur mon fichier en PJ et mettre les explications afin de mieux comprendre son fonctionnement.
Je joint un fichier en PJ
Merci d'avance aux "cerveaux" du forum.
A@
 

Pièces jointes

Re : Tri dynamique sur plusieurs tableaux ???

Bonsoir karakoman1, le forum,

Avec ceci peut être

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Column = 1 And Target.Count = 1 Then
   m = Target
   For c = 1 To 13 Step 4
   Range(Cells(2, c), Cells(1000, c + 2)).Sort Key1:=Cells(2, c)
   Next c
   [A:A].Find(What:=m, LookIn:=xlValues).Select
 End If
End Sub

A te relire

Yaloo
 

Pièces jointes

Dernière édition:
Re : Tri dynamique sur plusieurs tableaux ???

Bonjour,

Voir PJ

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 col = Target.Column
 If (col = 1 Or col = 5 Or col = 9 Or col = 13) And Target.Count = 1 Then
   m = Target
   Cells(2, col).Resize(1000, 3).Sort Key1:=Cells(2, col)
   Cells(2, col).Resize(1000).Find(What:=m, LookIn:=xlValues).Select
 End If
End Sub

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 col = Target.Column
 If (col = 1 Or col = 6 Or col = 11) And Target.Count = 1 Then
   m = Target
   Cells(2, col).Resize(1000, 4).Sort Key1:=Cells(2, col), Key2:=Cells(2, col + 1)
   Cells(2, col).Resize(1000).Find(What:=m, LookIn:=xlValues).Select
 End If
 If (col = 2 Or col = 7 Or col = 12) And Target.Count = 1 Then
    n = Target
    m = Target.Offset(0, -1)
    Cells(2, col - 1).Resize(1000, 4).Sort Key1:=Cells(2, col - 1), Key2:=Cells(2, col)
    tmp = "Match(""" & m & n & """," & Cells(2, col - 1).Resize(999).Address() & "&" & Cells(2, col).Resize(999).Address() & ", 0)"
    Cells(1, col - 1).Offset(Evaluate(tmp), 1).Select
 End If
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Tri dynamique sur plusieurs tableaux ???

Merci Yaloo et Boisgontier
Ca marche Nickel.
Merci aussi pour les petites explications.
Pour un débutant en VBA même la plus "bête" explication est capitale pour pouvoir UN PEU comprendre le fonctionnement.
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour