XL 2021 Recherche et affichage de doublons

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Dans le fichier joint, la Feuil1 contient une macro (bouton jaune) qui active une "Mise en forme conditionnelle" sur la table "t_Essai".
Mon projet final concerne en fait une très grosse table (A1:FV108) contenant près de 500 références.
L'activation de la macro fonctionne bien mais sur ma grosse table elle ralentit considérablement les saisies qu'il s'agisse d'ajouts de références ou de modifications.
Dans la Feuil2, j'ai utilisé une macro trouvée sur le net. Elle fonctionne bien mais que sur les colonnes B et C et je ne sais comment exécuter cette macro sur la table entière (t_Essai2)
J'aime bien l'idée de présentation, même si j'y apporterai quelques modifications que @mapomme m'a suggérées lors de ma dernière discussion.
Autre avantage de cette macro, elle ne reste pas en mémoire comme la "mise en forme conditionnelle" de la Feuil1 et ne ralentit pas mes saisies.

Si vous pouvez m'aider à résoudre cette question (passage de 2 colonnes à l'ensemble d'une table...

Bien cordialement,

Pierre
 

Pièces jointes

  • Double.xlsm
    23.1 KB · Affichages: 16
Solution
Ta macro "Afficher Listes/Plan" aurait pu m'être utile si :
- l’ascenseur fonctionnait pour descendre dans la liste en bleu
- Si au lieu de position Plan tu avait mis (et programmé un Loc Plan pour faciliter la recherche des incohérences (manquants du plan notamment).

Bonjour,
Mes parents me disaient qu'il ne fallait pas répondre aux provocations
mais quand c'est pour la bonne cause j'ai répondu aux tiennes. ;)
- j'ai fait en sorte que l'ascenseur fonctionne
- j'ai mis le lieu de position trouvé et en plus les lieux manquants

Cela n'a pas été simple car tes cellules fusionnées sont très intéressantes à la vue
mais pour les gérer en codage c'est assez coton surtout que tu as bien tout utilisé,
les fusions montantes ou...

gbinforme

XLDnaute Impliqué
Bonjour,
Je t'ai mis une macro en module3 qui t'affiche dans une zone de texte les doubles.
J'ai mis le lancement à l'activation des feuilles mais tu peux mettre un bouton.
Bien sûr elle n'est active que lors de son exécution.
 

Pièces jointes

  • Double.xlsm
    27.7 KB · Affichages: 6

Constantin

XLDnaute Occasionnel
Supporter XLD
Merci bcp gbinforme,
Ça fonctionne à merveille. Il me reste à essayer de compiler entre les deux macros pour voir afficher :
Le nom de la cellule (= emplacement) et bien sûr les coordonnées telles que tu les proposes.
Je vais essayer de faire par étape et voir si, dans mon fichier (joint), ça ne me déclenche pas une Erreur 457.
Le fichier que je joins te donnera une idée du nombre et de l'éparpillement des emplacements...
Mille mercis encore,
Pierre
 

Pièces jointes

  • Courses déf essai5.xlsm
    289.2 KB · Affichages: 8

Constantin

XLDnaute Occasionnel
Supporter XLD
Re...
J'ai fait un test sur ce fichier qui ne me pose que des problèmes. Du coup je suis reparti sur une version antérieure (en PJ). La différence se situe dans la macro "IdentifierPointsCollecte". La version que je t'ai envoyée dans le précédent post travaillait en appelant des styles de cellules ce qui provoque des conflits lorsque l'on veut modifier l'apparence des cellules.
La version jointe travaille avec des listes (pas moins de 20 de t_A à t_Z). C'est fastidieux à compléter, modifier ou mettre à jour car il faut travailler sur les feuilles "Sélection", "Listes" et "Plan" et ne rien oublier ou faire des bourdes comme des doublons sur le plan...
J'ai lu le contenu de ta macro... Oups, je crois que je vais avoir du mal à obtenir ce que j'ai évoqué dans le post précédent. Quel travail tu as fait !
Mais bon, je vais essayer en commençant par intégrer ta jolie macro dans ce fichier ;)

C'est fait, ça marche et drôlement vite !!! Quand j'aurai réussi à présenter ton "petit" tableau avec le nom de l'emplacement et le reste, je vais pouvoir virer mes macros de recherche qui peinent à œuvrer.
Bien cordialement,
Pierre
 

Pièces jointes

  • Courses déf archives2.xlsm
    288.6 KB · Affichages: 2

Constantin

XLDnaute Occasionnel
Supporter XLD
"Mais bon, je vais essayer en commençant par intégrer ta jolie macro dans ce fichier ;)"
Et bien, ça, c'est fait et ça fonctionne super bien et vite !
Je continue avec enthousiasme !
En PJ, fichier enrichi...
Bonne soirée
Pierre
 

Pièces jointes

  • Courses déf archives2.xlsm
    288.9 KB · Affichages: 4

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour,
Mon chat m'ayant apporté dans le lit une souris à 5h30, je n'ai pas réussi à me rendormir... Donc je me suis mis à mon clavier...
J'ai fait toutes sortes de "bidouilles" pour n'arriver qu'à rien ou pire...
Mon niveau en programmation étant ce qu'il est, je pense que je vais rester sur ta version à moins que, sans y passer trop de temps tu puisses me venir en aide.
L'affichage du nom de la localisation me permettrait de localiser plus facilement la valeur du double, les adresses étant plus difficiles à repérer vu la taille de la feuille Plan. On y arrive cependant en copiant les adresses indiquées dans la fenêtre de recherche.
Au pire, je peux conserver mes vielles macros (Doublons et Supprimer doublons) pour afficher plus lisiblement les emplacements au cas où j'aurai du mal à retrouver mes petits...
Tu fais comme tu le sens mais sois gentil de me dire si tu préfères "lâcher l'affaire". Je ne t'en voudrais pas étant largement satisfait (et plus) de ce que tu m'as envoyé.
Bonne journée et encore merci !
Pierre
 

gbinforme

XLDnaute Impliqué
Bonjour,

C'est fait, ça marche et drôlement vite !!! Quand j'aurai réussi à présenter ton "petit" tableau avec le nom de l'emplacement et le reste, je vais pouvoir virer mes macros de recherche qui peinent à œuvrer.
Merci de ton message.
Je t'ai rajouté le texte trouvé en double mais je ne sais pas ce que tu appelles le nom de l'emplacement.
J'ai aussi enlevé le blocage sur les cellules en erreur.
Si tu as d'autres suggestions merci de me les préciser.
 

Pièces jointes

  • Courses déf archives2.xlsm
    269.5 KB · Affichages: 5

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour gbinforme,
Dans le "Plan", les points de collecte sont identifiés par un "nom". Exemple : le nom de l'emplacement du rayon Bébé est C51, celui des livres est C31. Ce sont ces emplacements que j'ai créé dans l'ordre de collecte (de la droite vers le haut puis de la droite vers la gauche et redescendre jusqu'aux caisses. Etant une personne dite à mobilité réduite, j'essaye de ne pas avoir à faire des allers et retours dans l'enfer des rayons...
J'ai testé la macro, c'est pile poil ce que je souhaitais ! 😀😀Le nom de l'emplacement (point de collecte) apparait bien entre les doublons. Il est vrai que mon choix d'écriture pour ces noms d'emplacement prête à confusion avec celui des adresses des cellules... Je vais voir, à ce sujet, comment écrire ce nom en gras (si c'est possible) pour faciliter la lecture du résultat.
J'avais un autre petit problème mais j'ai peur d'abuser...
Dans Plan, j'ai un bouton "Eléments trouvés" qui me permet de pointer les références enregistrées dans "Listes" en comparaison avec celles du "Plan". Si liste présente une Loc (colonne D) absente du Plan, la macro me l'affiche.
J'ai copié (en haut de Listes) cette macro mais je voudrai qu'elle fasse l'inverse, c'est à dire qu'à partir du Plan, elle me signale les références non présentes dans Listes. Tu penses bien que j'ai essayé mais là, ça a été le Titanic (heureusement que j'avais fait des sauvegardes)
Quoiqu'il en soit tu es mon sauveur !
Enfin, tu me dis que tu as "enlevé le blocage sur les cellules en erreur"... A quel post fais tu référence ? le #3 ou le #5 ?
J'arrête ma prose et je vais acheter une tapette à souris car la bestiole court toujours dans mes placards...
Bien cordialement,
Pierre
 

gbinforme

XLDnaute Impliqué
Bonsoir,
J'ai testé la macro, c'est pile poil ce que je souhaitais !
Tant mieux si cela correspond à l'attente c'est bien plus agréable ainsi ! :)

je voudrai qu'elle fasse l'inverse, c'est à dire qu'à partir du Plan, elle me signale les références non présentes dans Listes.
C'est ce que j'ai fait avec la nouvelle procédure et les absences sont mises en place avec un lien sur la position concernée dans le "Plan".

C'est vrai que ce sera plus facile pour contrôler l'intégrité des données même si les erreurs sont peu nombreuses mais les rayons du magasin peuvent évoluer et il faudra modifier.

Bonne soirée et une nuit sans souris du moins celles du chat.:D
 

Pièces jointes

  • Courses déf archives2.xlsm
    273.5 KB · Affichages: 5

Constantin

XLDnaute Occasionnel
Supporter XLD
Merci à toi,
La souris est morte... (Le chat s'en est occupé avant la tapette)
Je viens de regarder ton super travail. C'est nickel ! Et en plus, cette idée de faire un affichage sur le tableau Listes qui fait un lien d'affichage avec le Plan, c'est super pratique.
Tu as pu le constater, il y a sur le Plan bcp de zones peu ou pas renseignées (Livres, Habillage...). Avec l'aide des chefs de rayon qui connaissent bien mon projet et qui mon déjà aidé à construire le plan du magasin,, je vais compléter ces données et ce nouvel outil va m'être très utile pour éviter les buggs.

Au cours de mes cueillettes, j'ai croisé plusieurs personnes (qui utilisent Excel) dans mon état voire pire (fauteuil roulant) qui sont très intéressées par ma "bidouille". Maintenant que tout est absolument parfait grâce à toi, je vais pouvoir leur faire profiter de ton savoir.:)
Il ne me reste plus qu'à te quitter jusqu'à une prochaine fois ? Ce sera avec le plus grand plaisir !
... Sauf que je ne sais pas comment indiquer qu' une discussion est résolue (rien trouvé de clair dans mes recherches).
Encore mille mercis, porte-toi bien,

Pierre
 

gbinforme

XLDnaute Impliqué
Bonjour,
C'est sûr que l'intégrité du plan et des listes pourront se faire de façon plus agréable.
Sans doute que le magasin va bien changer ses rayons assez régulièrement. Hier je cherchais un produit de jardin mais en raison de la saison il avait totalement changé de position.

La MFC pour repérer les doublons était sans doute judicieuse mais beaucoup trop chronophage car sa programmation ne doit pas être bien pensée : elle met énormément de temps par rapport à ma procédure.

Si tu as des améliorations en vue, je suis disponible pour t'aider dans ce beau projet.
Bien cordialement.
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonsoir à toi,
Tu en as de la patience !
Je t'adresse ma dernière mouture. Moi, je sais (à peu près) l'utiliser mais pour un "bizut", ça va être plus dur...
Ta procédure est super rapide. J'ai simplifié l'affichage pour ne laisser apparaître que le nom du doublon donc sans les adresses pour que ce soit plus "lisible" sur le plan.
Je suis presque au bout. Je m'agace cependant de devoir saisir les adresses et noms ajoutés dans les t_A à t_Z avec le gestionnaire de noms. Çà marche, mais quelle galère...
N'y aurait-il pas moyen de faire plus simple. Une chose est certaine, c'est que je n'ai pas le niveau.
Le fichier s'ouvre sur le mode d'emploi revu depuis hier...
Je suis embêté par la taille qu'une table (je ne sais pas si on dit Table, Liste ou Tableau) ne peut pas dépasser et je n'ai rien trouvé à ce sujet... Ceci explique le nombre mini-tables que j'ai du insérer dans mon range de la macro "IdentifierPointsCollecte".
Tu évoquais les changements de disposition au sein du magasin et le jardinage en est un excellent exemple. C'est pourquoi je m' intéresse surtout au "stable" (la flotte, le poulet...) en sachant que le rayon Promos change chaque semaine (Noël, Pâques, Foire aux vins...) et qu'il n'est pas le seul. Les responsables de rayon m'ont éclairé sur les rayons à géométrie variable et les stables. De fait le variable ne correspond qu'à moins de 10% des références. Pour ceux là, il faut chercher :confused:
En bref, si tu as des idées et puisque tu me le proposes très gentiment, je suis preneur.
Donc la discussion n'est pas close !
Bien cordialement,
Pierre
 

Pièces jointes

  • Courses outil.xlsm
    308.4 KB · Affichages: 5

gbinforme

XLDnaute Impliqué
Bonsoir,
je n'avais pas regardé dans ton classeur ce qui ne me concernait pas mais je m'aperçois qu'il y a beaucoup de monde en programmation et j'ai l'impression qu'il y a du code inutile et superfétatoire.

Ainsi le nombre mini-tables que j'ai du insérer dans mon range de la macro "IdentifierPointsCollecte" me parait totalement inutile. j'ai testé la macro avec "Plan_Magasin" au lieu de t_A / t_Z et cela fonctionne parfaitement.
En effet comme tu veux "identifier" les rayons à collecter ils sont dans le Plan et l'on peut les trouver très simplement.

Je comprends que tu t'agaces pour saisir cela mais en plus j'ai bien l'impression que c'est inutile car uniquement utilisé dans cette procédure qui fonctionne sans ces zones nommées.Les tailles limites des tables, listes ou tableaux sont très importantes et difficiles à dépasser. ICI

Bon je n'ai certainement pas découvert toutes les subtilités de ton classeur qui est bien dense mais je suis adepte de la citation d' Antoine de Saint-Exupéry :
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer.
Comme tu as déjà supprimé l'affichage des adresses inutiles tu devrais souscrire à ce précepte sauf bien sûr si je me suis totalement fourvoyé dans ma découverte.

Bonne fin de soirée
 

Constantin

XLDnaute Occasionnel
Supporter XLD
Je suis désolé de t'avoir fait coucher aussi tard,
A l'origine, la macro "IdentifierPoinsCollecte" fonctionnait avec Plan_Magasin mais elle supprimait tous les fonds de couleur des travées du magasin.
J'avais trouvé une "parade" en superposant sur chaque travée un masque coloré de la dimension du bloc concerné. Je peux effectivement "recoloriser" chaque travée pour permettre une lecture plus agréable du Plan qu'en "sans couleur".
Je connais bien sûr le contenu du lien que tu m'as indiqué. Mais, en toute humilité, je dois admettre que je ne sais pas trop comment interpréter toutes ces données. Je vais faire des essais et je te tiendrai au courant de mes tâtonnements.
Il est vrai que, vu mon niveau en programmation VBA, de nombreux contributeurs m'ont aidé à élaboré cet outil. De mémoire, il me semble que c'est VGendron qui avait proposé de travailler avec des tables il y a déjà longtemps car je tricote depuis au moins deux ans sur ce projet.
Les macros que tu m'as proposées et que j'ai installées me simplifient considérablement la tâche pour repérer les erreurs de saisies ou les incohérences entre les données.
On pourrait dire que ce fichier ressemble un peu à ce qu'était la station MIR : Une construction élaborée dans le temps avec la participation de nombreux acteurs tous aussi brillants et généreux de leur temps les uns que les autres...
Bonne journée,
Pierre
 

Constantin

XLDnaute Occasionnel
Supporter XLD
J'ai refait un test avec Plan_Magasin... La macro ne fait évidemment pas la différence entre les cellules et elle supprime effectivement tous les fonds de couleur des cellules.
Je pense que je vais revenir à la solution des masques colorés superposés sur les travées. Au moins l'utilisation d'une seule table sera plus facile à gérer que mon enchainement de mini tables.
Je retiens la citation de Saint-Exupéry. Elle est très à propos ;)
Bien cordialement,
Pierre
 

Discussions similaires

Statistiques des forums

Discussions
312 243
Messages
2 086 549
Membres
103 244
dernier inscrit
lavitzdecreu