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

Macro Trier 9 plages de cellule dans une feuille

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 !

Broch002

XLDnaute Occasionnel
Bonjour,

J'ai cherché sans succès sur le forum, un code pour trier rapidement 9 plages de cellules du plus grand au plus petit.
En fait j'ai 9 colonnes avec un stock par famille, et je cherche à les trier du plus gros stock au plus petit.
Je sais le faire pour un trie classique d'une feuille entière en VBA par une colonne, mais par plage ???

Quelqu'un a t'il un code pour cela?

Merci D'avance.
 

Pièces jointes

Dernière édition:
Re : Macro Trier 9 plages de cellule dans une feuille

Bonjour Broch, bonjour le forum,

Je n'ai vu que 3 plages et non pas 9... Tu adapateras le code ci-dessous :
Code:
Sub Macro1()
Dim col As Byte 'déclare la variable col (COLonne)
Dim pl As Range 'déclare la variable pl (PLage)

For col = 1 To 7 Step 3 'boucle sur les colonnes 1 à 7 par pas de 3
    With Sheets("DISPO") 'prend en compte l'onglet "DISPO"
        Set pl = .Cells(3, col).CurrentRegion 'définit la plage pl
        Set pl = pl.Offset(1, 0).Resize(pl.Rows.Count - 1, pl.Columns.Count) 'redéfinit la plage pl (sans la première ligne)
        pl.Sort Key1:=.Cells(4, col + 1), Order1:=xlAscending, Header:=xlYes 'tri la plage en fonction du stock
    End With 'fin de la prise en compte de l'onglet "DISPO"
Next col 'prochaine colonne de la boucle
End Sub
 
Re : Macro Trier 9 plages de cellule dans une feuille


Bonjour, Robert

J'ai installé le code dans mon fichier,(joint) et rien ne se passe.
J'ai complété le nombre de plage à 9.
Merci d'avance.
Broch002
 

Pièces jointes

Re : Macro Trier 9 plages de cellule dans une feuille

Bonjour Broch002

Salut Robert
En l'absence de notre ami voici la macro adaptée

Code:
Sub Macro1()
Dim col As Byte 'déclare la variable col (COLonne)
Dim pl As Range 'déclare la variable pl (PLage)


For col = 1 To 26 Step 3 'boucle sur les colonnes 1 à 7 par pas de 3
    With Sheets("DISPO") 'prend en compte l'onglet "DISPO"
    If col = 10 Then col = 11 ' tient compte du lave vaisselle decalé d'une colonne 
        Set pl = .Cells(4, col).CurrentRegion 'définit la plage pl
        Set pl = pl.Offset(1, 0).Resize(pl.Rows.Count - 1, pl.Columns.Count) 'redéfinit la plage pl (sans la première ligne)
        pl.Sort Key1:=.Cells(5, col + 1), Order1:=xlAscending, Header:=xlYes 'tri la plage en fonction du stock
    End With 'fin de la prise en compte de l'onglet "DISPO"
Next col 'prochaine colonne de la boucle
End Sub

Attention : il ne doit pas y avoir de trous dans les colonnes !!!
 
Re : Macro Trier 9 plages de cellule dans une feuille


Bonjour, Pierre jean.

Bravo c'est exactement ce qu'il faut.

Merci à vous deux et bonne soirée.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…