VBA Excel : Trier des Shapes
Résolu
tuxboy
Messages postés
995
Date d'inscription
Statut
Membre
Dernière intervention
-
tuxboy Messages postés 995 Date d'inscription Statut Membre Dernière intervention -
tuxboy Messages postés 995 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je souhaite trier toutes les Shapes d'une feuille de la plus petite à la plus grande en les repositionnant depuis le haut à gauche
Document joint :
https://www.cjoint.com/c/IEvm2uFPust
éventuellement en s'appuyant sur ce tri :
https://wellsr.com/vba/2018/excel/vba-quicksort-macro-to-sort-arrays-fast/#Example
Avec mes remerciements pour toute l'aide que vous m'apporterez.
Je souhaite trier toutes les Shapes d'une feuille de la plus petite à la plus grande en les repositionnant depuis le haut à gauche
Document joint :
https://www.cjoint.com/c/IEvm2uFPust
éventuellement en s'appuyant sur ce tri :
https://wellsr.com/vba/2018/excel/vba-quicksort-macro-to-sort-arrays-fast/#Example
Avec mes remerciements pour toute l'aide que vous m'apporterez.
Configuration: debian 6.05
Tu peux ajouter des shapes en adaptant le code :-)
Voilà
@+ Le Pivert
J'ai dupliqué chaque Shape, et modifié la procédure Resultat en conséquence.
La collection Shape n'est pas triée.
Le tri n'est pas fait ,tu te contentes de faire une boucle sur les shapes!
Le tri est fait sur la plage Range("A10:C13") et sur les surfaces qui sont sur la plage: Range("B10:B13")
Je crois que tu n'as pas compris le processus!
On inscrit les surfaces de chaque shape
On les met sur la plage: Range("B10:B13")
On fait le tri sur la plage Range("A10:C13")
Il suffit de se servir de ces données ensuite pour positionner les shapes
Voilà
fonctionne parfaitement, mais je souhaitais initialement trier la collection de Shapes directement sans passer par un affichage des données. Est-ce possible ?
Ce tri est un extrait d'une problématique plus large. Je te présente ce classeur pour y faire suite, où j'ai introduit un passage à la ligne en cas de dépassement d'une marge fixée ici en [T2].left
https://www.cjoint.com/c/IEwjTOKnd0t
La question est de savoir si on peut optimiser le tri pour minimiser la hauteur totale ?
Merci tout plein
Pour faire le tri il faut la surface des shapes
Tu peux toujours effacer:
https://forums.commentcamarche.net/forum/affich-36034442-vba-excel-trier-des-shapes#2
la question est de savoir si on peut optimiser le tri pour minimiser la hauteur totale ?
je ne vois pas, les shapes se touchent