[Résolu] Tri de cellules appairées à des groupes de colonnes

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Viking2020
Fraîchement OOthentifié
Messages : 5
Inscription : 11 oct. 2021 21:09

[Résolu] Tri de cellules appairées à des groupes de colonnes

Message par Viking2020 »

Salut à tous,

J'aimerais créer une feuille de tri automatique et je n'ai pas la moindre idée de la manière de faire aboutir mon idée. J'aurais besoin de vos lumières s'il vous plait:

Dans une liste de 60 lignes ou plus, de 2 colonnes, les deux cellules horizontales de chaque ligne étant en regard, des paires indissociables.
J'ai aussi 3 groupes +1 de 20 lignes sur 2 colonnes, dans la même feuille. Éventuellement, le 4ème groupe se remplira s'il y a plus de 60 lignes au départ mais peu utile d'aller si loin. Je peux écrémer moi même pour me borner à 60 lignes et me contenter de 3 groupes, afin de ne pas complexifier encore plus la procédure.

Mon objectif:
¤ D'une part, classer ces lignes par ordre croissant grâce aux cellules contenant une valeur numérique (typiquement, colonne A).
¤ D'autre part, placer les ligne 41 à 60 dans un groupe, une double colonne (puisqu'il y a deux colonnes valeur numérique+nom) dans l'ordre préalablement classé.
¤ Et d'autres part, les 40 première lignes, les dispatcher dans 2 autres groupes de 20 lignes, pour que le total de l'addition des valeurs numériques soit équivalente AU MAXIMUM entre eux (si parfaitement égaux, alors c'est encore mieux).

Je ne sais pas du tout s'il faudra l'emploi de macros, ou de fonctionnalité déjà présente en dur dans le logiciel, et encore moins où les trouver ni comment la construire.


Qu'en pensez-vous?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Viking2020 le 12 oct. 2021 14:36, modifié 4 fois.
OpenOffice 4.1.7 /Windows 7
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: Tri de cellules appairées dans des groupes de colonnes

Message par zeguedon »

Bonjour,
Viking2020 a écrit :Qu'en penser vous?
Pas grand chose à vrai dire... Tes explications sont parfaitement claire pour une personne connaissant son contexte d'utilisation. Je n'en doute pas. Ici on préfère un fichier exemple avec des données bidon si nécessaire et cerise sur le gâteau, une feuille représentant le fichier avant traitement, et une autre après.
Merci
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Viking2020
Fraîchement OOthentifié
Messages : 5
Inscription : 11 oct. 2021 21:09

Re: Tri de cellules appairées dans des groupes de colonnes

Message par Viking2020 »

Bonjour,

Merci d'avoir répondu. J'ai fait ce que tu as demandé mais sur une seule feuille, puisque, idéalement, j'aimerais que tout se passe dans une seule. L'idée, c'est qu'une fois ma base de données construite, les cellules en question se remplissent d'elles même, "en live" (avec le petit effet de satisfaction qui va avec :lol: ).

Je joints le fichier au premier message du fil.

A titre d'exemple, je réduit la liste de 60 ligne à 6 et 3 groupes. Le 3ème étant les paires qui ont les plus petites valeurs numériques:

15_A
27_B
18_C
42_D
67_E
10_F

Le total est de: 179
En ôtant les deux plus petites valeurs, le sous total passe à 154
La moyenne de ce sous total est 77. Valeur que j'aimerais retrouver approximativement en total dans chacun des 2 premiers groupes, en faire des groupes relativement équilibré.

Groupe 1:
42_D
27_B
69_Total

Groupe 2:
67_E
18_C
85_Total

Tout autre disposition éloignerait les totaux de la moyenne en question.
Finalement,

Groupe 3:
15_A
10_F

Ici, les écarts à la moyenne sont assez flagrants, c'est pour exposer le principe. J'aurais l'usage de nombre bien plus grands (quelques millier).
OpenOffice 4.1.7 /Windows 7
Jeff
GourOOu
GourOOu
Messages : 9629
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Tri de cellules appairées dans des groupes de colonnes

Message par Jeff »

Bonjour,

J'ai du mal à comprendre le rapport entre les explications du post précédent, et le fichier joint au premier message :fou:

N'y aurait-il pas erreur de pièce jointe ?

A +
Viking2020
Fraîchement OOthentifié
Messages : 5
Inscription : 11 oct. 2021 21:09

Re: Tri de cellules appairées dans des groupes de colonnes

Message par Viking2020 »

Bonjour Jef, merci pour ta réponse.

Non non, c'est bien ce fichier, rempli manuellement. Alors oui, certes, la toute première ligne n'est là que pour information. Elle est totalement inutile dans les faits, et je ne compte pas la faire apparaitre dans ma feuille finale. Dison que c'est la ligne 0.
15_A
27_B
18_C
42_D
67_E
10_F
Ca, c'est l'équivalent des colonnes A et B dans la pièce jointe.
Groupe 1:
42_D
27_B
69_Total

Groupe 2:
67_E
18_C
85_Total

Groupe 3:
15_A
10_F
Et ça, les colonne D et E (groupe 1), J et H (groupe 2) et J et K (Groupe 3).

Les colonnes A et B son mes données. Dans l'ordre alphabétique des noms pour référence et construction.
J'aimerais ensuite que cette liste de 60+ lignes soit classée par ordre décroissant; Et qu'ensuite, elle soit scindée en 3 groupe de 20 lignes. Le dernier groupe (Groupe 3), avec les valeurs numériques de la colonne A les plus basses (et classées par ordre décroissant bien sûr), typiquement, ligne 41 à 60 donc.
Reste ensuite 40 lignes à classer/trier (tjrs pas ordre décroissant numériquement) dans les groupes 1 et 2. L'objectif est que ces deux groupes aient chacun un total équivalent l'un à l'autre. Comme dans mon exemple sur la feuille en pièces jointe: 54259/54258. Peu importe les noms ou les valeurs, j'ai juste besoin que les totaux soit le plus égaux possible.
Si on avait classé ça par ligne pair et impair par exemple, une ligne vers groupe 1, la suivante vers groupe 2, les totaux aurait eu quelque chose comme 470 d'écart si j'ai bonne mémoire. J'aimerais réduire cet écart autant que faire se peux.
OpenOffice 4.1.7 /Windows 7
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: Tri de cellules appairées dans des groupes de colonnes

Message par zeguedon »

Bonjour,
Viking2020 a écrit :les totaux aurait eu quelque chose comme 470 d'écart si j'ai bonne mémoire. J'aimerais réduire cet écart autant que faire se peux.
478. Mais là c'est quasiment mission impossible avec les fonction de base. Il faudrait une multitude de tableau pour tester différents classements possibles jusqu'à finir par trouver le plus approchant.
Pour cette partie là, un recours à une macro est nécessaire. Le reste peut-être facilement géré avec les fonctions INDEX() PETITE.VALEUR() ou GRANDE.VALEUR().
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Viking2020
Fraîchement OOthentifié
Messages : 5
Inscription : 11 oct. 2021 21:09

Re: Tri de cellules appairées dans des groupes de colonnes

Message par Viking2020 »

zeguedon a écrit : Pour cette partie là, un recours à une macro est nécessaire.
OK, c'est bien ce que je me disais. Je ne sais pas du tout l'utiliser, mais j'ai instinctivement pensé au langage de prog Python aussi. Je vais aller poser la question simplifiée dans la section Macro alors. Merci.
zeguedon a écrit : Le reste peut-être facilement géré avec les fonctions INDEX() PETITE.VALEUR() ou GRANDE.VALEUR().
Le classement par ordre croissant et la scission de la liste en plusieurs groupes donc?
Ce tuto (h**ps://silkyroad.developpez.com/excel/indexequiv/) te semble pertinent pour apprendre à m'en servir stp? Je ne suis qu'un utilisateur averti de Calc, j'arrive à faire des trucs pas mal, mais je m'en sers tellement rarement que je dois souvent revoir les mêmes explications pour refaire les mêmes choses avec le temps.

La modération vous a écrit: Neutralisation URL : pas besoin de lien vers des tutoriels pour un tableur propriétaire et payant.

OpenOffice 4.1.7 /Windows 7
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: Tri de cellules appairées dans des groupes de colonnes

Message par zeguedon »

Bonjour,

Les cellules de ta colonne A ne sont pas des valeurs numériques. Est-ce qu tu sais pourquoi ? Elle contiennent un caractère fantôme comme séparateur de millier (8239). Il faut donc convertir cette colonne avant d'envisager de son traitement :

Code : Tout sélectionner

=CNUM(SUBSTITUE(A2;UNICAR(8239);"")) 
à propager vers le bas.
Pour le reste, je reviendrai plus tard avec un exemple (pas trop de temps libre pour m'y consacrer avant le fin de la semaine).
@+
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux
Viking2020
Fraîchement OOthentifié
Messages : 5
Inscription : 11 oct. 2021 21:09

Re: Tri de cellules appairées dans des groupes de colonnes

Message par Viking2020 »

zeguedon a écrit : Les cellules de ta colonne A ne sont pas des valeurs numériques. Est-ce qu tu sais pourquoi ? Elle contiennent un caractère fantôme comme séparateur de millier (8239). Il faut donc convertir cette colonne avant d'envisager de son traitement :

Code : Tout sélectionner

=CNUM(SUBSTITUE(A2;UNICAR(8239);"")) 
à propager vers le bas.
Bonjour zeguedon,
Oui, j'ai remarqué en effet lorsque j'ai construit les 3 groupes (ça me prends une petite heure). J'ai ensuite oublié de convertir la colonne A, je pensais juste que ça servirait à un exemple imagé. Je me sers du tableur du célèbre moteur de recherche pour diffuser mon travail à tout ce beau monde en fait (colonne B), le passage de l'un à OpenOffice occasionne quelques erreurs.
Merci pour le code nonobstant, je copiais la colonne dans Notepad pour rechercher/remplacer :lol:
Pour le reste, je reviendrai plus tard avec un exemple (pas trop de temps libre pour m'y consacrer avant le fin de la semaine).
Ha cool, merci beaucoup. J'ai besoin de pistes, parce que là, je sèche... Je vais potasser les commandes INDEX et *.VALEURS pendant ce temps là.
OpenOffice 4.1.7 /Windows 7
zeguedon
ManitOOu
ManitOOu
Messages : 3031
Inscription : 02 juil. 2014 17:25

Re: Tri de cellules appairées dans des groupes de colonnes

Message par zeguedon »

Bonjour,
Dans le fichier joint, une petit exemple pour faire "mumuse". J'ai mis en commentaire (petit carré rouge en haut à droite des cellules concernées) dans l'entête des colonnes contenant des formules quelques explications les concernant.
Pour faire fonctionner la répartition, il faut appuyer sur la touche de fonction F9 autant que nécessaire. Le calcul automatique des formules est volontairement désactivé.
Une version avec macro pour faire le job suivra dans la section adéquat.
Bonne découverte
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Comment baliser [Résolu] ?
AOO
LibreOffice
Sous Linux