XL 2010 trier valeur sur plusieurs colonnes

capricorne068

XLDnaute Nouveau
Bonjour a tous ,

j'aimerai trier des valeurs d'apres la semaine et l'apres des dates .

( le nombres de dates de varier par semaines ) excel 2007

merci

bon dimanche
 

Pièces jointes

  • trier valeur sur colonne.xlsx
    10.1 KB · Affichages: 15
Solution
Bonjour Capricorne, Chris, bonjour le forum,

Une proposition VBA avec le code ci-dessous :

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim PL As Range 'déclare la variable PL (PLAGE)

LI = Cells(Application.Rows.Count, "E").End(xlUp).Row 'définit la ligne LI (dernière ligne non vide de la colonne E)
 Do While LI > 0 'exécute tant que L est supérieure à zéro
    If Cells(LI, "E") <> "" Then 'si la cellule ligne LI colonne E n'est pas vide
        Set PL = Cells(LI, "E").CurrentRegion 'définit la plage PL
        PL.Sort PL(1, 1), xlAscending, Header:=xlNo 'trie la plage PL
    End If 'fin de la condition
    LI = Cells(LI, "E").End(xlUp).Row - 1...

chris

XLDnaute Barbatruc
Bonjour

Les lignes vides empêchent non seulement le tri mais les filtres, compliquent les formules ou toute exploitation des données

Tu peux repérer les changement de semaines par une MFC voire masquer la répétition du numéro de semaine par une autre MFC
 

Pièces jointes

  • trier valeur colonnes.xlsx
    11.9 KB · Affichages: 10

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Capricorne, Chris, bonjour le forum,

Une proposition VBA avec le code ci-dessous :

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim LI As Integer 'déclare la variable LI (LIgne)
Dim PL As Range 'déclare la variable PL (PLAGE)

LI = Cells(Application.Rows.Count, "E").End(xlUp).Row 'définit la ligne LI (dernière ligne non vide de la colonne E)
 Do While LI > 0 'exécute tant que L est supérieure à zéro
    If Cells(LI, "E") <> "" Then 'si la cellule ligne LI colonne E n'est pas vide
        Set PL = Cells(LI, "E").CurrentRegion 'définit la plage PL
        PL.Sort PL(1, 1), xlAscending, Header:=xlNo 'trie la plage PL
    End If 'fin de la condition
    LI = Cells(LI, "E").End(xlUp).Row - 1 'redéfinit la ligne LI
Loop 'boucle
End Sub
 

capricorne068

XLDnaute Nouveau
Salut,

merci pour vos reponse ,

je pensais passer par petite valeur avec numéro de ligne en cas de date identique , et une plage décalée à chaque fois d'après la semaine ,si quelqu'un aurais une idee , car apres je recuperer ces donnees trier dans une autre feuille .

merci
 

Discussions similaires

Réponses
9
Affichages
446

Statistiques des forums

Discussions
311 720
Messages
2 081 924
Membres
101 841
dernier inscrit
ferid87