Sélectionner le rectangle qui a le plus nombre de cellules
Bonjour à tous,
B8 : E15.... Colorisation non correcte. Normalement il devra selectionner la zone C8 : E15
C8:E15 fait 24, je trouve B8:E14 avec 28.
eric
Bonjour,
Depuis qq jours j'avais pas eu de temps pour suivre les ameliorations concernant mon probleme. Des que je regarde aux messages envoyes j'ai vu que plusieurs reponses pour la resolution de mon probleme. Pas encore tester les codes mais je dois dire que Je suis tres heureux.
Merci à tous pour vos interets et vos conrtributions de la resolution de ce probleme.
Bon week end à tous.
Bonjour à tous,
Pas eu le temps de regarder les autres solutions, ce sera pour plus tard, je me suis limité à déboguer la mienne et j'ai d'autres urgences qui suivent...
ThauThème : Ne me fais pas l'injure de sous-estimer l'intérêt d'une programmation modulaire...
MaPoire : Je ne saurais me formaliser que quelqu'un aborde un problème de façon semblable à la mienne... La méthode utilisant un double-balayage de la plage m'a paru adéquate pour un recensement exhaustif des rectangles (éliminant ceux inclus dans d'autres), et l'utilisation du dico est désormais une méthode classique d'élimination des doublons...
Les variantes sur cette méthode générale porteront vraisemblablement sur la rccherche de l'élimination précoce des cas redondants de façon à accélérer l'exécution...
Le fait que la méthode permette un recensement exhaustif est une hypothèse à vérifier (à moins d'en avoir une démonstration mathématique, ce que je n'ai pas pour l'instant).
Sakman : Ton problème présentait semble-t-il un intérêt pour beaucoup d'intervenants... Un "jeu" dont les applications peuvent se révéler multiples...
Tu pourras vérifier que les bogues signalés sur les sélections internes à la zone de test sont levés (j'espère !
Pour ce qui est de la mise en forme, j'ai procédé empiriquement au fil des tests pour que cela nettoie la situation antérieure sans faire de dégâts. Maintenant, les résultats s'affichent colonne U à partir de la ligne de sélection. Si on étend les tests vers la droite, sans aller au-delà de T toutefois !, les résultats se décalent pour laisser 3 colonnes entre la fin de la sélection et l'affichage des résultats. La mise en forme sera de toutes façons dépendante du contexte d'utilisation.
J'aurais dû isoler la mise en forme dans une procédure dédiée... Je n'en ai sorti que l'effacement (suppression du quadrillage et effacement des résultats), procédure lancée au démarrage d'un test mais qui peut donc être activée indépendamment.
Eric : Je n'en suis pas encore à mesurer la durée d'exécution, mais évidemment, dans ce genre d'exercice cela s'avère toujours un élément important...
J'ai de même le sentiment que mon code pourrait être simplifié mais pas le temps ni le courage d'y replonger... Je verrai éventuellement en me penchant sur les autres solutions...
Bon weekend à tous !
Bonjour le fil, bonjour le forum,
Arf Môssieur FERRAND ! Je ne fais d'injure à personne ! Mais quand je vois le niveau des différents intervenants je ferme ma gueule et tire mon chapeau...
bonsoir
MFerrand a écrit :Ton problème présentait semble-t-il un intérêt pour beaucoup d'intervenants... Un "jeu" dont les applications peuvent se révéler multiples...
pour moi apres 2 ou 3 jours devant mon pc voila ce que j'ai pu faire:
Bonjour à tous
Tout d'abord je veux remercier à vous tous pour la contribution de la resolution de mon probleme.
Vous avez tout à fait raison que mon problem semble comme "un jeu". Mais c'est une partie de notre projet.
Dans mon premier post j'avais envoyé un petit fichier comme exemple. Vous avez trouvé les solutions exacte sur cette exemple. Quand j'ai voulu trouver les solutions dans mon document original , Je n'arrive pas à trouver tous les rectangles (surtout les 25 premiers qui sont beaucoup plus d'important pour nous.)
Pour cette raison , je vais envoyer le document original comprenant quelques informations...
Dans ce document, vous allez voir une Page "Comp". Tous Les resultats obtenus avec l'utilisation de vos codes sont tous dans cette page.
Dans cette evaluation, le temps d'execution , la colorisation et les bordures des cellules n'ont pas été pris en compte.
J'attends vos remarques eventuelles. Peut etre je fait une erreur lors d'adaptation de vos codes dans mon document.
J'envois mes remerciments à vous tous..
Cordialement..
Bonjour,
Effectivement, en testant mon programme sur ton nouveau tableau, je constate que si je sors 142 rectangles, dont 22 comportant 36 cellules ou plus, en comparant avec ta liste de 25 rectangles à 36 cellules ou plus, si j'en ai 2 ne figurant pas dans ta liste, 5 de ta liste ne sont pas sortis.
Vérification faite, ma méthode de pré-élimination de rectangles lors de la rechercher ne permet pas de détecter ces derniers, et comme ils ne se concentrent pas en queue de liste, la cas pourrait survenir que le rectangle maximal soit ignoré...
Je te joins mon test (1), la comparaison figure en Feuil1.
Donc, changement de méthode, sans pré-élimination (donc plus longue à l'exécution !), mais le résultat semble correct. J'ai introduit un paramètre (en AR1) : le nombre minimum de cellules pour prendre en compte un rectangle, je l'ai fixé à 36 pour le test de façon à pouvoir comparer avec ta liste.
30 rectangles sont recensés, et les 25 de ta liste s'y trouvent. Je te laisse vérifier plus en détail (voir test (2)).
Cordialement.
Au passage mes excuses à Amir pour avoir privilégié ces "rectangles" à un problème de détection de dates fantômes... Je n'ai pas liquidé toutes les tâches qui m'ont occupées ce weekend et j'ai encore un problème à tenter de régler à distance pour éviter d'être privé de connexion durant une période indéterminée à mon retour chez moi dans 8 jours (probabilité qui a pour le moment le plus de chances de survenir).
Bonne journée.
Bonjour,
non, tu n'utilises pas mal ma version.
Seulement j'utilise pl2.Address qui recense tous les rectangles de départ. La chaine retournée est limitée à 253 caractères ce qui suffisait pour une trentaine de plages. Et là tu viens de passer à 98, du coup je ne dépasse pas la ligne 7 et il en manque forcément pas mal...
De plus, sur ce type de découpage, il y a des trous dans la raquette avec ma technique. Il faut que je trouve du temps pour corriger.
eric
Bonjour le Forum, MFerrand et eriiic
Je veux remercie à vous pour vos politesses sensibles.
Dans mon premier temps possible, je vais tester les codes de MFerrand et je vais faire le retour. MERCI.
Je serai dans l'attente les codes corrigés d'eriiic. Si tu as un temps libre, tu peut le faire. Ne pas se depecher pour moi car J'ai assez large de temps pour l'instant. MERCI à toi aussi...
Cordialement
Bonjour MFerrand et le Forum
je suis désolé pour la reponse tardive.
@MFerrand
Aujourd'hui, J'ai pu trouver une occasion pour tester tes derniers codes afin de la resolution du probleme. Ça marche tres tres bien.
Tu es vraiment "SUPER".
Je te remercie pour tous. GRANDE MERCI à toi et BRAVO....
Encore une fois Je veux remercier à MFerrand , ThauTheme , eriiic , MaPoire et Amir pour leurs contributions et leurs approches professionnelles afin que je puisse resoudre le probleme qui est tres important pour moi.
Cordialement....