Réaménagement d'une plage (macro? ).

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

J

JJ1

Guest
Bonsoir au Forum,

Je fais actuellement manuellement un alignement des données en plage A:E.
Chaque nombre doit être aligné au dessus d'un nombre identique, le plus proche de lui dans les lignes en dessous.
J'ai fais un exemple avec 5 lignes, le principe est de commencer par le bas de la plage.
Je pense qu'il faudrait utiliser une macro?
Merci de votre aide.
Bonne soirée
 

Pièces jointes

Re : Réaménagement d'une plage (macro? ).

Bonjour,

Je n'ai pas cherché de solution mais il me semble déjà qu'il peut y avoir des impossibilités.

Dans le petit fichier joint, il y a 4 lignes de 6 colonnes et l'on voit que, même en permutant des ensembles identiques de lignes entre colonnes, on ne sait pas où mettre le 8 et les 9 que j'ai placés à côté...

Sauf erreur de ma part...

Cordialement
 

Pièces jointes

Re : Réaménagement d'une plage (macro? ).

Bonjour,

Je n'ai pas mieux. Ne connaissant pas l'algorithme qui est utilisé dans ton exemple pour prioriser telle ou telle solution, j'ai tenté quelque chose qui n'aboutit pas au même résultat.
 

Pièces jointes

Re : Réaménagement d'une plage (macro? ).

Bonjour à tous,

Je n'ai pas dit qu'avec les valeurs de JJ1 il y avait des impossibilités... j'ai justement pris d'autres valeurs pour montrer que dans mon cas il y avait des impossibilités et donc qu'avec d'autres valeurs on pouvait tomber sur ce cas...

Je l'ai fait à la main selon l'algo. suivant :

- je réécris la dernière ligne telle quelle
- je lis l'avant dernière et je regarde si elle comporte également la première valeur, si oui je l'écris au-dessus de celle de la ligne de base
- je fais pareil avec les autres valeurs de la ligne
- je mets les valeurs non sélectionnées dans les "trous" (dans un code, on devrait pouvoir améliorer en triant d'abord les valeurs dans chaque
ligne)
- je passe à l'examen de la ligne précédente
- je fais pareil mais en recherchant si la valeur est dans les colonnes l'une des deux lignes au-dessous et ainsi de suite jusqu'à la ligne supérieure
- lorsque la cellule où je devais placer la valeur était déjà occupée, j'ai mis les valeurs à côté c'est là qu'est le problème...

Mais je me trompe peut-être...il faut bien que TOUTES les valeurs identiques soient dans une même colonne

Cordialement
 
Re : Réaménagement d'une plage (macro? ).

Bonjour Mecano, Chalet, Klin, Le forum,

Je voudrais optimiser (par des permutations) un maximum de nombres identiques alignés en les permutant à l'intérieur des lignes successives (en conservant bien sûr les nombres de chaque lignes)
avec 2 priorités:
- nombre identique
- on aligne avec le nombre identique en dessous le plus proche (important)

Je suis parti de la ligne du bas identique avec la ligne existante, il est possible qu'en permutant également les 5 nombres de cette dernière ligne, on arrive à une optimisation supérieure?
Merci en tout cas de vos essais que je vais regarder.

Bon samedi.

on vient de se croiser...
 
Dernière modification par un modérateur:
Re : Réaménagement d'une plage (macro? ).

Bonjour Mecano, Chalet, Klin, Le forum,

Je voudrais optimiser (par des permutations) un maximum de nombres identiques alignés en les permutant à l'intérieur des lignes successives (en conservant bien sûr les nombres de chaque lignes)
avec 2 priorités:
- nombre identique
- on aligne avec le nombre identique en dessous le plus proche (important)

Je suis parti de la ligne du bas identique avec la ligne existante, il est possible qu'en permutant également les 5 nombres de cette dernière ligne, on arrive à une optimisation supérieure?
Merci en tout cas de vos essais que je vais regarder.

Bon samedi.

on vient de se croiser...
j'ai lu de Mécano : " il faut que tous les nombres identiques soient dans la même colonne ",
je précise: un maximum d'alignement avec les nombres identiques les plus proches en dessous.

Dans mon exemple, le 5 en haut s'aligne avec celui juste en dessous et non avec le 5 de la ligne de départ.
 
Dernière modification par un modérateur:
Re : Réaménagement d'une plage (macro? ).

Re,
J'ai exécuté ton code sur quelques lignes et j'ai commenté le résultat obtenu sur les 7 dernières lignes (j'ai pas continué au dessus car pas lisible) avec en rouge les corrections , est-ce plus clair?
Encore merci de l'aide.
Bon am
 

Pièces jointes

- 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
1
Affichages
752
Réponses
3
Affichages
564
Retour