Salut, Une approche si cela peut aider (si j'ai bien compris ?) : // JavaScript Document for Illustrator var dec = 20; if (app.documents.length > 0) { var docRef = app.activeDocument; var selectedItems = selection; var nbObjSelect = selectedItems.length; if (nbObjSelect) { var rep, iObj, newtop; var TabTop = []; rep = prompt("Tolérance ?", dec); dec= rep*1; for (var i = 0; i < nbObjSelect; i++) { iObj = selectedItems; TabTop.push([iObj.top,i]) } TabTop.sort(); TabTop.reverse(); //alert(TabTop.join("\r")); newtop = TabTop[0][0]; docRef.layers.add(); nbLayers = docRef.layers.length; for(i = 0, k = nbLayers-1; i < nbObjSelect; i++) { if (newtop > TabTop[0]-dec && newtop < TabTop[0]+dec) { iObj = selectedItems[TabTop[1]]; iObj.move(docRef.layers[0],ElementPlacement.PLACEATEND); docRef.layers[0].name = "Rang "+k; } else { newtop = TabTop[0]; k++; i--; docRef.layers.add(); } } var layerAct, nbObjLayer, n, nObj, j, jObj; var TabLeft = []; for(i = 0; i < k; i++) { layerAct = docRef.layers; nbObjLayer = layerAct.pageItems.length; for(n = 0; n < nbObjLayer; n++) { nObj = layerAct.pageItems ; TabLeft.push([nObj.left,nObj]); } TabLeft.sort(); //TabLeft.revers(); alert(TabLeft.join("\r")); for(j = 0; j < nbObjLayer; j++) { jObj = TabLeft [1]; jObj.zOrder(ZOrderMethod.SENDTOBACK); } TabLeft = []; } } else alert("Vous n'avez rien sélectionné !","De Elleere"); } else alert("Pour l'exécution de ce sript un document doit être ouvert !","Script Alerte de Elleere !"); //------------------------------------------------------------- de LR elleere
... View more