Classer groupes de cellules par ordre alphabétique

  • Initiateur de la discussion Initiateur de la discussion moldu1
  • 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 !

moldu1

XLDnaute Nouveau
Salut les Cerveaux!

Existe-t-il un moyen de classer par ordre alphabétique des groupes de cellules que j'ai només et qui sont entourés en rouge dans la pièce jointe ?
Le nombre des groupes de cellules atteidra +/- 150 au total.

Merci de votre expertise.

Amicalement.
 

Pièces jointes

Re : Classer groupes de cellules par ordre alphabétique

Bonjour à tous,

Peux-tu essayer ceci APRES avoir renseigné les cellules à gauche du Nom par =B3, =D3 et suivantes

VB:
Option Explicit


Sub Tri_Col()
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SortFields.Add Key:=Range("A3:L3")
        .SortFields.Clear
        .SetRange Range("A1:L100")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlLeftToRight
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A1").Select
End Sub

A + à tous
 
Re : Classer groupes de cellules par ordre alphabétique

Bonjour moldu1, JC,

@JC : Si j'ai bien compris, notre ami moldu veut trier par zone de noms et nom la zone entière A:L.

@ moldu :

Voici donc un exemple de macro :

Code:
Sub TriNom()
For Each nom In ActiveWorkbook.Names
  Range(nom).Range("A3:B22").Select
  ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range(nom).Range("A3:A22") _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  With ActiveWorkbook.Worksheets("Feuil1").Sort
    .SetRange Range(nom).Range("A3:B22")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
   End With
Next
End Sub
Pour la lancer, il suffit de cliquer sur le bouton.

Ci-joint le fichier.

Cordialement.
 

Pièces jointes

Dernière édition:
Re : Classer groupes de cellules par ordre alphabétique

RE:

@ JC,

J'ai testé ta macro, après avoir mis les formules dans les cellules de gauche, mais apparemment et sauf erreur de ma part, rien ne se passe (j'ai modifié les dates bien sûr).

@ moldu,

J'ai fait une petite erreur de références de cellules dans mon code.

J'ai profité de la correction pour supprimer la sélection des plages nommées. Je les avais conservées pour visualiser lors des essais mais elles ne sont pas utiles pour le bon déroulement du programme. J'ai modifié la référence des cellules pour tenir compte de la modification éventuelle des plages nommées sans avoir à retoucher au code.

Code:
For Each nom In ActiveWorkbook.Names
  ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range(nom).Range("A3:A" & Range(nom).Rows.Count) _
    , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
  With ActiveWorkbook.Worksheets("Feuil1").Sort
    .SetRange Range(nom).Range("A3:B" & Range(nom).Rows.Count)
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
   End With
Next
Cordialement.
 

Pièces jointes

Dernière édition:
Re : Classer groupes de cellules par ordre alphabétique

Bonjour à tous,

Papou : Merci de bien vouloir cliquer sur l'étoile

VB:
Option Explicit


Sub Tri_Col()
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A3:L3")
        .SetRange Range("A1:L100")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlLeftToRight
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A1").Select
End Sub


A + à tous
 

Pièces jointes

Dernière édition:
Re : Classer groupes de cellules par ordre alphabétique

RE JC,

Aarfff, je n'ai pas compris la même chose que toi.

Je pensais que notre ami voulait trier les données dans chaque colonne nommée mais, au vu de ton approche, je pense que tu as mieux cerné la question que moi.

En attendant des nouvelles de l'intéressé, je considère mon intervention comme nulle et non avenue.

A +

Amicalement..
 
Re : Classer groupes de cellules par ordre alphabétique

Salut JCGL et Papou-net,

Merci pour l'intérêt porté à ma question.

Etant débutant, j'ai passé du temps à comprendre les manipulations et parvenir au résultat de vos solutions.
Il semble que je me suis bien mal exprimé:

Dans la nlle feuille en pj il y a un ensemble de plages encadrées en rouge. Chacune de ces plages, est, ou sera nomée du nom du client.

Ma demande:
Est-ce faisable de trier au fur et à mesure toutes ces plages individuellement,par ordre alphabetique de leurs noms (sur l'ensemble de la zone délimitée par le cadre bleu)
Dans l'onglet "FUTUR" le résultat que je recherche.

Merci pour votre temps passé.

Amicalement.
 

Pièces jointes

Re : Classer groupes de cellules par ordre alphabétique

Bonjour à tous,

Papou : Merci de bien vouloir cliquer sur l'étoile

VB:
Option Explicit


Sub Tri_Col()
    With ActiveWorkbook.Worksheets("Feuil1").Sort
        .SortFields.Clear
        .SortFields.Add Key:=Range("A3:L3")
        .SetRange Range("A1:L100")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlLeftToRight
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("A1").Select
End Sub


A + à tous

Bonjour JCGL,

Je suis dans une situation similaire à celle du post initial, à une différence près.
Le tri est selon une ligne (Feuille Champ, Ligne 2) dont les cellules contiennent une formule. D'où la valeur 0 si la cellule source est vide.
J'essaie en vain d'adapter le code pour classer dans l'ordre alphabétique (texte) avec 0 en dernier (colonnes de droites), et ce en gardant les formules dans toutes les cellules.
Je n'y arrive pas 🙁
Merci pour un coup de main.
 

Pièces jointes

Re : Classer groupes de cellules par ordre alphabétique

Bonjour JCGL,

Merci pour la réponse rapide
Biarritz désigne l'équipe et les colonnes C et D sa composition.(Joueur et Index du joueur)
Les colonnes sont à trier par paires indivisibles (C avec D, E avec F, et ainsi de suite).
Comme dans le post initial.

Cordialement,
 
- 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
3
Affichages
130
Retour