Classement par ordre croissant par rapport à plusieurs colonnes

Résolu/Fermé
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 - 20 déc. 2012 à 15:57
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 - 10 janv. 2013 à 10:01
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 !


11 réponses

Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
7 janv. 2013 à 10:51
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 ?
1
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 11:00
Non non.

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 ?
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 08:34
Up et Meilleurs Voeux à toutes et tous ! =)
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
7 janv. 2013 à 09:16
Meilleurs voeux GTA54, bonjour,

Un fichier, sans données sensibles, serait le bien venu ..
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 09:45
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 janv. 2013 à 12:03
Bonjour

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

0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 12:14
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.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 janv. 2013 à 14:05
Et on affiche sur la m^me ligne colonne AF ?

apparemment, c'est faisable sans trop de problèmes ( je dois m'absenter une partie de l'après midi, donc sois patient)
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
7 janv. 2013 à 12:32
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 !
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 14:33
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 ...
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié par michel_m le 7/01/2013 à 14:43
alors, que faut il faire: arrêter si doublon ou inscrire les processus simultanés ????
:-(
Dis le si tu ne veux pas répondre à ma question
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 14:56
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).
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
7 janv. 2013 à 15:35
Enfin j'arrive a supprimer, mais ça supprime également ma mise en page ... J'aimerais que les cellules AF jusque AN soit fusionnées et que les données soient centrées. Et je voudrais également que la plage AF20 : AN53 soit entouré avec une bordure épaisse.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
7 janv. 2013 à 16:47
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
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
8 janv. 2013 à 09:21
On se calme Michel_m. Merci de votre aide mais la version proposée par Heliotte me va très bien.

Cordialement.
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
7 janv. 2013 à 18:24
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.
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
8 janv. 2013 à 09:22
Bonjour Heliotte,

J'ai réussi à supprimer la colonne AF mais la mise en page n'est toujours pas bonne ... Plus de bordures et mon texte n'est pas centré.... =/
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
8 janv. 2013 à 09:23
:-D
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 janv. 2013 à 09:33
Il m'arrive de me demander pourquoi je passe du temps.
:-)
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
8 janv. 2013 à 09:51
moi aussi :-)
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
8 janv. 2013 à 10:15
Je n'ai rien dit... Je n'avais pas ouvert la bonne version... J'étais encore sur l'ancien Cjoint ... Désolé.

Bon et bien tout à l'air de fonctionner ! Merci Messieurs !
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
8 janv. 2013 à 18:07
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
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
9 janv. 2013 à 10:06
Qu'avez vous changé ? Je n'arrive pas à trouver ... Pourtant j'ai mis mes lunettes ^^
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
9 janv. 2013 à 10:15
Je n'ai rien dis, je n'avais pas vu que vous l'aviez mis en commentaire...
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
9 janv. 2013 à 12:13
Bonjour GTA54,

Changement au niveau de la troisième boucle For :

           'For Lig = PremLig To (DerLig - PremLig + 1)
            For Lig = PremLig To DerLig

Est-ce correct maintenant ?
0
GTA54 Messages postés 414 Date d'inscription jeudi 23 février 2012 Statut Membre Dernière intervention 7 août 2019 27
9 janv. 2013 à 16:35
Oui cela fonctionne. Sauf que maintenant c'est l'annonce des Doublons qui ne fonctionnent plus ... Je ne sais pas pourquoi ....
0
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
9 janv. 2013 à 16:55
Je voudrais juste savoir une chose, SVP.
C'est quel VB qui est utilisé ?
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
10 janv. 2013 à 10:00
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
0
heyquem Messages postés 759 Date d'inscription mercredi 17 juin 2009 Statut Membre Dernière intervention 29 décembre 2013 130
Modifié par heyquem le 7/01/2013 à 12:03
Bonjour,

C'est pas mal clair déjà. Par rapport à d'autres questions, il y a déjà un effort de bien expliquer.

edit: je demandais en quel langage ce devait être fait mais je vois que c'est dans la rubrique VB. Alors bonne chance.
-1