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

trier une liste de noms dans un autre onglet

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

D

didounet

Guest
Bonjour à tous,

Je suis novice en excel et sollicite votre aide.

Dans un onglet j'ai une liste de noms non triées. J'ai plusieurs colonnes dans lesquels je mettrais une croix en regard du nom.
Je voudrais dans un autre onglet retrouver
1. la liste triée par ordre alphabétique
2. dans chaque colonne ou il y a une croix retrouver les noms également triés par ordre alphabétique et sans espace de ligne.
Ci-joint un petit fichier d’exemple.

Merci pour votre aide
 

Pièces jointes

Dernière modification par un modérateur:
Re : trier une liste de noms dans un autre onglet

Bonjour didounet,

Le tri et le report du tableau référence dans la table1 par VBA.

Le travail s'effectue en cinq étapes :

1- Mise en tableau dynamique du tableau référence.
2- Recomposition du tableau selon un tri par ordre alphabétique de la première colonne.
3- Echange des 'x' par le nom de la colonne 1.
4- Remontée des noms dans les colonnes.
5- Report dans la feuille table1.
 

Pièces jointes

Re : trier une liste de noms dans un autre onglet

Bonjour didounet

Et bienvenue sur XLD

Vois si cela te convient

Arf: En retard moi
Salut Bernard (je regarde ton code)
Edit: Vu : il y a une certaine similitude dans nos 2 codes
 

Pièces jointes

Dernière édition:
Re : trier une liste de noms dans un autre onglet

Bonsoir pierrejean, Bernard,didounet,
ci-joint la version formules.
A+

Edit : pierrejean, pourquoi utilises-tu le terme "temp" et quelle est son utilité ?
 

Pièces jointes

Dernière édition:
Re : trier une liste de noms dans un autre onglet

Bonjour,

Code:
Private Sub Worksheet_Activate()
  Set f = Sheets("référence")
  [A2:H10000].ClearContents
  For d = 0 To 6
    Set mondico = CreateObject("Scripting.Dictionary")
    For Each c In f.Range(f.Cells(2, 2 + d), f.Cells(65000, 2 + d).End(xlUp))
      If c = "x" Then mondico(c.Offset(, -1 - d).Value) = 1
    Next c
    Cells(2, 2 + d).Resize(mondico.Count, 1) = Application.Transpose(mondico.keys)
    Range(Cells(2, 2 + d), Cells(1000, 3 + d)).Sort Key1:=Cells(2, 2 + d), Order1:=xlAscending, Header:=xlNo
  Next d
  f.[A2:A10000].Copy [A2]
  [A1:A10000].Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess
 End Sub

JB
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
220
  • Question Question
Microsoft 365 tri dans Excell
Réponses
19
Affichages
870
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…