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

[HELP] Trier des données selon un critère

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

alex75

XLDnaute Nouveau
Bonjour à tous,

Je suis débutant dans excel, et j'ai un besoin urgent que je n'arrive pas à résoudre.

Je m'explique, j'ai un tableau trié selon des utilisateurs et je voudrais le trier par profil et non plus pas utilisateur.

Chaque profil peut contenir X utilisateurs, j'ai donc besoin de récupérer la liste d'utilisateurs pour chacun des profils.

Vous trouverez un exemple en pièce jointe de ce que je souhaite réaliser.

J'attends vos lumières avec impatience,
Merci pour votre aide précieuse

alex [file name=classeurAlex.zip size=1778]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/classeurAlex.zip[/file]
 

Pièces jointes

Bonjour alex

en piece jointe, une solution possible parmis d'autres en vba.

le code :


attention : renvoi en feuille 2

j'ai opté pour la premiere présentation, pour la deuxieme, pas de problème.

salut [file name=classeurAlex_20060424164823.zip size=9380]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/classeurAlex_20060424164823.zip[/file]
 

Pièces jointes

Hervé écrit:

Alors là bravo, je te remercie vraiment, je serais incapable de réaliser ça tout seul, je suis encore trop petit dans excel🙂

Je teste et vous tiens au courant
 
Etant totalement novice dans le vb... est il possible qu'il ne traite qu'une partie du tableau, celle que je sélectionne avant de cliquer sur le bouton?

je voudrais faire plusieurs 'petits' tableaux, plus lisible pour moi 🙂
 
re alex

oui c'est possible comme ceci :




attention de bien sélectionner la colonne A avec tes données.

salut
 
Bonjour le Forum,
Bonjour Alex75, Hervé 🙂

bon alors aprés la proposition en macro que personnellement je préfére voila une solution en formule matricielle basée sur la présentation numéro 2.

Jocelyn [file name=classeurAlex_20060424171023.zip size=9918]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/classeurAlex_20060424171023.zip[/file]
 

Pièces jointes

Hervé écrit:
re alex

attention de bien sélectionner la colonne A avec tes données.

salut

En fait, j'ai le pb suivant, je pensais que mon premier exemple serait adapter à mon besoin mais apparemment le script que tu m'as gentiment codé ne fonctionne pas avec mes données (cf fichier joint).

Est-ce parce que le résultat concaténé est trop grand et il ne peut être insérer dans une seule cellule ou est-ce un autre problème?

Je suis vraiment désolé mais je n'ai aucune connaissance en VB donc pas évident de débuter ainsi 🙂

Merci encore pour ton aide, j'apprécie sincèrement.

Alex
 
Jocelyn écrit:

Salut Jocelyn, merci à toi pour ton aide et je suis tout à fait d'accord avec ta signature 🙂

Par contre, je n'ai pas compris comment marchait la solution que tu proposes... ni comment la modifier 🙂
 
re,

alors je vais essayer de t'expliquer la formule,

dans un premier temps c'est une formule Matricielle elle est a validée pour cela quand la formule est fini d'ecrire il faut positionner le curseur a la fin de la formule et appuyer simulanément sur les touche ctrl+majuscule+entrée a ce moment apparait avant le signe = le signe{ et en fin de formule le signe}

autrement :

=INDEX(Feuil1!$A$1:$A$26;MIN(SI(Feuil1!$A$3:$A$27diferendde'';SI(Feuil1!$B$3:$F$27=Feuil2!$A1;SI(NB.SI($C1:C1;Feuil1!$A$3:$A$27)=0;LIGNE(Feuil1!$A$3:$A$27))))))&''

INDEX(Feuil1!$A$1:$A$26 veut dire que l'on regardé les valeur de cette plage et que l'on veux renvoyer la valeur de la ou les plus petite lignes LIGNE(Feuil1!$A$3:$A$27)a la condition 1 que les cellule de la plage ne soit pas vide Feuil1!$A$3:$A$27diferendde'' et condition 2 il y est sur la meme ligne la valeur de la cellule A1 de la feuille 2 soit pour C1 la valeur 'ds' Feuil1!$B$3:$F$27=Feuil2!$A1 condition 3 pour éviter les doublons que le nombre de nom rencntrer sur la ligne ne soit pas deja present sur la ligne 1 de la feuille 2 NB.SI($C1:C1;Feuil1!$A$3:$A$27)=0 le fait d'ecrire $c1:C1 permet de compter si l'on tire la formule vers la droite sur une plage $C1:C2

Voila j'espere que les explications sont clair.

Jocelyn

edit pour que la formule fonctionne il faut que le ligne 1 de la feuille 1 soit vide.

Message édité par: Jocelyn, à: 24/04/2006 17:58
 
Jocelyn écrit:

merci jocelyn 🙂
je viens de regarder de plus près mais pas évident de modifier et de l'adapter à mes besoins...

le mieux est que je vous fournisse le fichier excel d'origine 🙂

en sortie, il faudrait avec la liste de chacun des profils avec les noms associés... mais je n'y arrive pas malgré vos exemples.
 
Hervé écrit:

Salut Hervé, comment faire pour mettre le résultat dans différente cellule au lieu de les séparer par une virgule? :unsure:
 
- 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…