| ||||||||
Petit astucien ![]() | Bonjour à toutes et tous, Modifié par Papydydy le 14/07/2015 10:30 | |||||||
Publicité | ||||||||
| ||||||||
![]() ![]() | Bonjour, Ton projet manque un peu de détails sur ce que tu veux... Quelques idées de départ : | |||||||
Petit astucien ![]() | Bonjour Ferrand, Ce que j'aimerais c'est que la liste des photos en regards des modèles se classe par ordre croissant. tandis que la liste des modèles ce classe par ordre alphabétique. | |||||||
![]() ![]() | Bonjour, Pour qu'on puisse avancer, tu mets ton fichier au lieu d'une image, ce qui permettra de voir et tester les solutions pouvant répondre à tes attentes. Si ton fichier comporte des informations confidentielles que tu ne souhaites pas exposer, tu mets un modèle avec le même type de données organisées de la même façon. Pour communiquer un fichier au forum : http://cjoint.com tu y héberges le fichier et tu colles le lien dans un prochain post. Tu précises aussi, car cela a un impact sur les solutions possibles : - le nombre de modèles susceptibles d'être inscrits dans ton fichier - le nombre photos maximal qui pourra être inscrit concernant un même modèle. Quelques dizaines, plusieurs milliers ou dizaine de milliers, ça change effectivement la façon d'aborder la question ! A+ | |||||||
Petit astucien ![]() | Voici le lien pour le fichier,
| |||||||
![]() ![]() | En complément, tu peux prendre en compte tout de suite que ta numérotation des photos ne convient pas. Pour certain, il n'y a qu'un numéro (chiffres exclusivement), soit un nombre, pour d'autres le numéro est une valeur alpha-numérique, donc du texte. Dans la mesure où tu as besoin de compléter le numéro par une valeur littérale, ce qui en fait une valeur texte, il faut que tous tes numéros soient constitués d'un même type de données, soit de valeurs texte qui peuvent être ordonnées entre elles. La dualité aboutirait à classer tous les nombres devant les valeurs texte. Je te suggérerais donc une structure de numérotation homogène : chaque numéro comportant le même nombre de chiffre, suivis d'un codage littéral à ta convenance... messages croisés ! Je regarde, mais il faudrait que tu examines le problème de numérotation. Modifié par ferrand le 17/07/2015 13:51 | |||||||
Petit astucien ![]() | Je ne sais pas comment faire car suivant le travail avec photoshop ou ligtroom, l'identifications est différente. | |||||||
![]() ![]() | Voilà une première approche : Echantillon sur la feuille 2, avec 4 modèles : en colonne A : nom du modèle en colonne B : numéro photo La colonne A est nommée model en champ dynamique (voir la formule dans le gestionnaire de noms) En C1, formule : =NB.SI($A$1:A1;A1)*100000+LIGNE() qui va permettre l'extraction du modèle une seule fois En D1, formule : =NB.SI($A$1:A1;A1) qui va permettre de classer les photos. Ces formules sont à tirer vers le bas (sur environ 10000 lignes donc). Les colonnes C et D peuvent être masquées. La saisie consiste à servir en A le nom du modèle, en B la photo, pour chaque photo. Le tableau doit ensuite être triée : - d'abord sur la colonne B, par valeurs croissante, - puis sur la colonne A, de A à Z. Sur la feuille 3, ton tableau (tel que sur feuille 1) se constitue automatiquement, trié. En A1, formule : =SI(PETITE.VALEUR(DECALER(model;;2);LIGNE())<200000;INDEX(model;EQUIV(PETITE.VALEUR(DECALER(model;;2);LIGNE());DECALER(model;;2);0));"") à tirer sur une centairne de lignes. Elle va afficher chaque modèle, dans l'ordre où ils apparaissent sur la feuille 2, donc triés après tri de la feuille 2. En B1, formule : =SIERREUR(INDEX(DECALER(model;;1);EQUIV(COLONNE()-1;(model=$A1)*DECALER(model;;3);0));"") à valider par Ctrl+Maj+Entrée (cette formule est matricielle) et à tirer vers le bas sur une centaine de lignes et vers la droite sur une centaine de colonnes. Petite difficulté que je n'ai vu qu'en enregistrant ton fichier : il est en xls. Si ta version d'Excel est antérieure à 2007, SIERREUR ne fonctionnera pas et il faudra revoir la formule pour y substituer une condition classique (ne rien afficher si EQUIV renvoie l'erreur #NA) qui allongerait un petit peu la formule. Pour chaque modèle, les photo sont classées dans l'ordre des numéros, avec évidemment les valeurs texte après les valeurs numériques. version xlsx : http://www.cjoint.com/c/EGrnFTMZKMy version xls (au cas où) : http://www.cjoint.com/c/EGrnHmkGzAy Il faudra vérifier si après recopie des formules sur la surface potentiellement nécessaire le classeur demeure d'une taille raisonnable... Pour alléger, les solutions ne peuvent passer que par des macros.
| |||||||
Petit astucien ![]() | Bonsoir Ferand, | |||||||
Petit astucien ![]() | Bonjour Ferand, | |||||||
![]() ![]() | Bonjour, Tu tries quand tu veux. Simplement le tableau résultant va suivre ton tri sur la liste saisie. Le point principal est que ta saisie initiale doit être faite sur 2 colonnes : modèle - photo (une saisie ligne par photo donc). Tu aurais donc intérêt à établir une liste de modèles que tu complètes au fur à mesure et qui alimenterait une liste déroulante pour y sélectionner le modèle lors de l'inscription d'une photo. Vois le fonctionnement avec les exemples fournis, et précise ta version d'Excel. | |||||||
![]() ![]() | En consultant mes fichiers, je vois que j'avais fait une version supplémentaire avec des fonctions personnalisées (des macros à utiliser de la même façon que les fonctions intégrées d'Excel. Cela reste toujours un peu lourd puisque au final il y a un grand nombre de formules sur la feuille, mais dimensionné à 100 modèles et 100 photos par modèle, comme base, cela reste gérable. La différence avec la version que tu as est que l'on n'a plus besoin de formules relais sur la liste de saisie (les colonnes C et D dont j'avais dit qu'elles pouvaient être masquées). Ici plus besoin, ça fait des formules en moins et c'est plus net. Autre différence, ces fonctions opèrent un classement indépendamment du tri que tu fais ou non sur la liste. Les modèle sont classés par ordre alphabétique, et les numéros de photos suivent aussi un ordre alphabétique rigoureux (traitant les chiffres comme des caractères et non pas comme des nombres). http://www.cjoint.com/c/EGylgLK4c6y | |||||||
Petit astucien ![]() | Bonjour Ferand, | |||||||
![]() ![]() | Bonsoir, Excel 2007 ou Excel starter ? Starter ne prend pas en charge les macros effectivement, ce qui en fait une application peu utile... Avec Excel 2007 tu n'as pas de problème pour ouvrir et faire fonctionner le fichier avec fonctions persos. Je l'ai mis en xls justement pour que tu n'aies pas de problème à l'utiliser, ne connaissant pas ta version d'Excel. A l'ouverture, il te faut activer les macros pour que ça fonctionne. Je t'en remet un en xlsm, mais c'est strictement la même chose (tu ne risques cependant plus d'être dérangé par le vérificateur de compatibilité à l'enregistrement). http://www.cjoint.com/c/EHbp5sVwzay | |||||||
Petit astucien ![]() | Bonjour Ferrand,
Modifié par Papydydy le 10/08/2015 14:38 | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|