Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 trier valeur sur plusieurs colonnes

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 !

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...
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

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
 
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
 
- 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

Réponses
5
Affichages
151
Réponses
5
Affichages
295
Réponses
14
Affichages
597
Réponses
3
Affichages
164
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…