Classement par ordre croissant par rapport à plusieurs colonnes
Résolu
GTA54
Messages postés
414
Date d'inscription
Statut
Membre
Dernière intervention
-
Heliotte Messages postés 1491 Date d'inscription Statut Membre Dernière intervention -
Heliotte Messages postés 1491 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je viens vers vous afin de savoir si l'opération que je dois faire est réalisable.
Je dois créer un Synoptique en fonction de plusieurs process à ma disposition.
J'ai donc une page avec la liste de tous les types de process l'un après l'autre (colonne L / ligne 20-21-22-23 [...] 53).
A gauche de cette liste, il y a 5 colonnes vides où l'opérateur doit rentrer des chiffres en fonction du synoptique qu'il désire (5 colonnes car un process peut apparaitre plusieurs fois dans le synoptique).
Visuel :
___________________
|_|_|_|_|_| PROCESS 1 |
|_|_|_|_|_| PROCESS 2 |
|_|_|_|_|_| PROCESS 3 |
|_|_|_|_|_| etc .... |
Admettons que je veuilles avoir une liste avec dans l'ordre :
- PROCESS 1
- PROCESS 3
- PROCESS 1
- PROCESS 2
Je vais rentrer un 1 dans une des cellules à gauche de Process 1, un 2 à coté de Process 3, un 3 à coté de PROCESS 1 et enfin un 4 à coté de PROCESS 2.
J'aimerais maintenant que lorsque l'opérateur valide son choix, la macro permette de copier les PROCESS concernés puis de les coller dans l'ordre où il a fait son choix dans un onglet à part. De façon à avoir une liste de ce type :
| 1 | PROCESS 1 |
| 2 | PROCESS 3 |
| 3 | PROCESS 1 |
| 4 | PROCESS 4 |
Voilà j'espère que vous avez compris et que c'est possible.
Je suis dispo si vous avez des questions ! =)
Merci d'avance et Bonnes fêtes de fin d'année !
Je viens vers vous afin de savoir si l'opération que je dois faire est réalisable.
Je dois créer un Synoptique en fonction de plusieurs process à ma disposition.
J'ai donc une page avec la liste de tous les types de process l'un après l'autre (colonne L / ligne 20-21-22-23 [...] 53).
A gauche de cette liste, il y a 5 colonnes vides où l'opérateur doit rentrer des chiffres en fonction du synoptique qu'il désire (5 colonnes car un process peut apparaitre plusieurs fois dans le synoptique).
Visuel :
___________________
|_|_|_|_|_| PROCESS 1 |
|_|_|_|_|_| PROCESS 2 |
|_|_|_|_|_| PROCESS 3 |
|_|_|_|_|_| etc .... |
Admettons que je veuilles avoir une liste avec dans l'ordre :
- PROCESS 1
- PROCESS 3
- PROCESS 1
- PROCESS 2
Je vais rentrer un 1 dans une des cellules à gauche de Process 1, un 2 à coté de Process 3, un 3 à coté de PROCESS 1 et enfin un 4 à coté de PROCESS 2.
J'aimerais maintenant que lorsque l'opérateur valide son choix, la macro permette de copier les PROCESS concernés puis de les coller dans l'ordre où il a fait son choix dans un onglet à part. De façon à avoir une liste de ce type :
| 1 | PROCESS 1 |
| 2 | PROCESS 3 |
| 3 | PROCESS 1 |
| 4 | PROCESS 4 |
Voilà j'espère que vous avez compris et que c'est possible.
Je suis dispo si vous avez des questions ! =)
Merci d'avance et Bonnes fêtes de fin d'année !
A voir également:
- Classement par ordre croissant par rapport à plusieurs colonnes
- Excel trier par ordre croissant chiffre - Guide
- Comment faire des colonnes sur word - Guide
- Classer les applications par ordre alphabétique iphone - Guide
- Bp classement foot ✓ - Forum Loisirs / Divertissements
- Plan rapport de stage - Guide
11 réponses
La colonne "AF" .. c'est un peu comme ceci :
- PROCESS 1
- PROCESS 3
- PROCESS 1
- PROCESS 2
?
donc, une cellule en "AF" = PROCESS et numéro d'ordre ?
- PROCESS 1
- PROCESS 3
- PROCESS 1
- PROCESS 2
?
donc, une cellule en "AF" = PROCESS et numéro d'ordre ?
Bonjour Heliotte et Merci ;)
Voici le fichier : https://www.cjoint.com/c/CAhjQ0RotHg
Avez-vous compris ce que je voulais faire ?
Les opérateurs vont rentrer des chiffres aléatoirement dans les colonnes de B à J et j'aimerais que les lignes correspondantes en L se classent automatiquement par rapport aux colonnes B à J en colonne AF.
Est-ce que c'est clair ou pas du tout ? ^^
Cordialement.
Voici le fichier : https://www.cjoint.com/c/CAhjQ0RotHg
Avez-vous compris ce que je voulais faire ?
Les opérateurs vont rentrer des chiffres aléatoirement dans les colonnes de B à J et j'aimerais que les lignes correspondantes en L se classent automatiquement par rapport aux colonnes B à J en colonne AF.
Est-ce que c'est clair ou pas du tout ? ^^
Cordialement.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Essaies
Essaies
Sub Lister_process() Dim T_out(), nbre As Byte, Lig As Byte Application.ScreenUpdating = False Range("AF20:AN53").ClearContents nbre = Application.Count(Range("B20:J53")) ReDim T_out(1 To nbre) For cptr = 1 To nbre Lig = Range("A20:J53").Find(cptr, Range("A20"), xlValues).Row T_out(cptr) = Cells(Lig, "L") Next Range("AF20").Resize(nbre, 1) = Application.Transpose(T_out) End Sub
Merci Michel ! Ca fonctionne !
Par contre est-il possible de modifier la macro pour qu'elle s'exécute au cas où il y aurait deux chiffres identiques ? Par exemple, l'opérateur classe ses process et il y en a deux qui peuvent se faire en même temps, du coup ils auront le même chiffre (indice de classement chronologique).
Après c'est juste comme ça. Si ce n'est pas possible, tant pis !
Un grand merci.
Par contre est-il possible de modifier la macro pour qu'elle s'exécute au cas où il y aurait deux chiffres identiques ? Par exemple, l'opérateur classe ses process et il y en a deux qui peuvent se faire en même temps, du coup ils auront le même chiffre (indice de classement chronologique).
Après c'est juste comme ça. Si ce n'est pas possible, tant pis !
Un grand merci.
voilà: http://cjoint.com/data3/3AhmFua9iw9.htm
Quand il y a un doublons, il arrête la procédure en avertissant l'utilisateur de la cellule qui fait doublons !
Quand il y a un doublons, il arrête la procédure en avertissant l'utilisateur de la cellule qui fait doublons !
Merci Heliotte c'est parfait !
Sauf que lorsque je veux réactualiser, si j'ai mis moins de lignes, les autres ne se suppriment pas ...
Sauf que lorsque je veux réactualiser, si j'ai mis moins de lignes, les autres ne se suppriment pas ...
Désolé Michel je n'avais pas vu votre réponse !
Je pensais les affichés mais en fait la proposition d'Heliotte me convient !
C'est juste le soucis de suppression de la plage de AF20 à AF53 qui me fait défaut ... J'aimerais que lorsque j'appuie sur le bouton actualiser, cette plage s'efface afin de recommencer avec une plage vierge et que la liste puisse s'afficher intégralement (que l'on mette moins ou plus de lignes que le test d'avant).
Je pensais les affichés mais en fait la proposition d'Heliotte me convient !
C'est juste le soucis de suppression de la plage de AF20 à AF53 qui me fait défaut ... J'aimerais que lorsque j'appuie sur le bouton actualiser, cette plage s'efface afin de recommencer avec une plage vierge et que la liste puisse s'afficher intégralement (que l'on mette moins ou plus de lignes que le test d'avant).
si tu daignes regarder ce que je t'ai proposé, ce dont je doute, tu pourrais constater qu'elle est écrite en 4° ligne et qu'elle prend les colonnes de AF à AN
ton souci vient que tu as fusionné les cellules, ce qui est une chose à éviter et qui peut *tre éviter après dé-fusionner par la fonction "centrer sur plusieurs lignes"
A noter que je t'apportais tout à l'heure la solution "double ou pluri-process et je lis que tu trouves parfait d'interdire les doublons.... c'est donc n'importe quoi de ta part
ton souci vient que tu as fusionné les cellules, ce qui est une chose à éviter et qui peut *tre éviter après dé-fusionner par la fonction "centrer sur plusieurs lignes"
A noter que je t'apportais tout à l'heure la solution "double ou pluri-process et je lis que tu trouves parfait d'interdire les doublons.... c'est donc n'importe quoi de ta part
Bonsoir GTA54,
Je ne sait pas où vous en êtes ..
Pour ma part j'ai ajouté la fonctionnalité d'effacement des cellules de la colonne "AF" .. ici http://cjoint.com/data3/3AhswSAY3gU.htm
Bonne continuation.
Je ne sait pas où vous en êtes ..
Pour ma part j'ai ajouté la fonctionnalité d'effacement des cellules de la colonne "AF" .. ici http://cjoint.com/data3/3AhswSAY3gU.htm
Bonne continuation.
Bonsoir à tous,
Comme GTA54 me l'a fait remarquer, j'ai fait une erreur.
Cette erreur se trouve au niveau de la boucle sur la passage des lignes. Un mauvais calcul de ma part .. pourtant simplissime !
Voici le fichier correct : http://cjoint.com/data3/3AiseA2oSB3.htm
Comme GTA54 me l'a fait remarquer, j'ai fait une erreur.
Cette erreur se trouve au niveau de la boucle sur la passage des lignes. Un mauvais calcul de ma part .. pourtant simplissime !
Voici le fichier correct : http://cjoint.com/data3/3AiseA2oSB3.htm
Bonjour GTA54,
Veuillez, s'il vous plaît, ajouter ce code Trouve = False avant celui-ci For Col = 1 To NbColonne, et
Supprimer ce code Trouve = False après celui-ci For Col = 1 To NbColonne
Veuillez, s'il vous plaît, ajouter ce code Trouve = False avant celui-ci For Col = 1 To NbColonne, et
Supprimer ce code Trouve = False après celui-ci For Col = 1 To NbColonne
Admettons que nous avons un 1 en B20, un 2 en B21, un 3 en D23, un 4 en F24 et un 5 en H20.
Je veux que l'affichage soit comme suit :
en AF20 : ADHESIVE ASSEMBLY ...
en AF21 : ADHESIVE ASSEMBLY ON SLEEVE ...
en AF22 : ASSEMBLY EVS CONNECTOR
en AF23 : BUNDLE ASSEMBLY ...
en AF24 : ADHESIVE ASSEMBLY ....
Vous voyez ?