Valeurs maximales par préfixe, dans une liste alphanumérique
Bonjour,
J'ai bien trouvé sur mon problème des sujets... mais je n'arrive pas à adapter les réponses.
Je dispose dans une liste de différents préfixes alpha suivis d'un séparateur et d'un ordre numérique.
Je cherche à extraire pour chaque préfixe le couple préfixe+numéro maximum.
Le fichier joint illustre mon problème.
Merci de votre aide...maximale...
Valérie
Salut,
Dans le fichier ci-joint – pour autant que les macros soient enclenchées sur ta machine – lorsque tu cliques sur le bouton en place, les données de la colonne E sont réactualisées en fonction des modifications de la colonne A.
Selon ta manière de travailler – par exemple si tu ajoutes manuellement et individuellement des données dans la colonne A – on pourrait remplacer le bouton par une macro événementielle qui se déclencherait automatiquement à chaque fois que tu introduits une nouvelle donnée dans la colonne A.
A toi de dire.
Cordialement.
Bonjour,
Merci pour ces 2 solutions impressionnantes.
Je constate que cela fonctionne, dans mon exemple... mais je constate aussi plus malheureusement que détenir la solution n'implique pas forcément de savoir l'appliquer...
pour la macro je m'excuse seule, car je ne connais pas VBA mais pour la formule je dois me rendre à l'évidence de mon incompréhension.
Je joins donc de nouveau mon fichier ou j'ai intégré dans 2 onglets séparés les solutions macro et formule et ou j'ai placé mes données au positionnement exact de mon fichier réel.
Le copier/coller sera donc ma seule planche de salut...
Merci de votre (Bis)
Valérie
Pour la solution par macro, le fichier doit être au format .xlsm.
Avec ta nouvelle disposition, tu es limitée à 9 préfixes, comme je te le montre sur la feuille jointe.
Il semble que les autres feuilles placées dans ce fichier ralentissent passablement le déroulement de ma macro. J'ai donc supprimé toutes les autres pages.
Tu ne m'as pas dit ce que tu pensais d'une macro événementielle.
La prochaine fois, montre nous tout de suite un fichier avec sa disposition exacte ; ça évite de faire deux fois le travail
Amicalement.
Bonjour @ tous,
pour la formule de R@chid, il faut savoir qu'elle est matricielle, ceci-dit qu'il faut une validation matricielle par la combinaison de touches Ctrl+Shift+Enter.
Et aussi pour redéfinir le champ dynamique Col_Prfx il faut aller dans le gestionnaire de noms et modifier la formule par celle-ci :
=DECALER('SOLUTION R@CHID (FORMULES)'!$O$10;;;EQUIV("Z";'SOLUTION R@CHID (FORMULES)'!$O:$O)-9)
@ + +
Re,
Une autre proposition avec une seule formule sans colonne intermédiaire de préfixes et qui permet le tri décroissant selon la valeur MAX de chaque préfixe.
en K2,
=SIERREUR(INDEX(Col_Prfx;EQUIV(GRANDE.VALEUR(SI(ESTNUM(TROUVE("-";Col_Prfx));SI(NB.SI(K$1:K1;GAUCHE(Col_Prfx;TROUVE("-";Col_Prfx))&"*")=0;CNUM(STXT(Col_Prfx;TROUVE("-";Col_Prfx)+1;99))));1);SI(ESTNUM(TROUVE("-";Col_Prfx));SI(NB.SI(K$1:K1;GAUCHE(Col_Prfx;TROUVE("-";Col_Prfx))&"*")=0;CNUM(STXT(Col_Prfx;TROUVE("-";Col_Prfx)+1;99))));0));"")@ valider par Ctrl+Shift+Enter
@ tirer vers le bas
faut nous dire aussi si les valeurs à droite des préfixes signifient le nombre d’occurrence de chaque préfixe ou pas forcément, si oui je pense faire autrement.
Voir PJ.
@ + +
Bonjour R@chid,
Merci pour ces précisions. Je vais m'intéresser aux champs dynamiques que je ne connais pas.
Pour la formule j'avais bien notée qu'elle était matricielle.
Pour répondre à la question, oui la la valeur à droite des préfixes correspond au nombre d'occurrence de chaque préfixe.
Et les préfixes sont toujours les mêmes.
Je prends le temps de comprendre et je reviens vers vous.
Bien cordialement,
Valérie
Bonjour Yvouille,
Navrée pour ne pas avoir posé correctement le problème d'emblée.
Mais la solution s'avère plus corsée que je ne l'avais imaginée... c'est l'un des avantages majeurs d'apporter les problèmes et d'attendre les solutions
Habituellement la transposition est aussi un bon moyen de comprendre, si je sais transposé, j'ai fais un pas vers la compréhension.... et peut-être un autre vers une certaine autonomie...
Mais dans se cas il s'agit d'un bond....
Ci-joint ton fichier avec une explication pour la macro événementielle que tu me proposes... car effectivement cela serait encore mieux.
Par ailleurs si tu peux m'indiquer les variables de la macro pour un changement de colonne cela pourrait me rendre plus autonome. si je rajoute ou enlève une colonne à mon tableau.
Pour le ralentissement de la macro... dans mon fichier d'origine j'ai 7 feuilles et je suis en format Xlsb, car mon fichier est lourd. mais les macros passent.
Merci.
Bien cordialement,
Valérie
Re-bonjour,
Evite d’inscrire des informations dans les fichiers Excel ; ça rend la confusion possible entre les informations qui doivent réellement y être mais qui ne me concerne pas et les informations que je dois recevoir.
Inscrit donc toutes tes informations sur le fil et faisant référence aux objets Excel (Feuilles, Cellule, Plage de cellules, lignes, colonnes, etc.) d’une manière précise.
Tu as écrit dans ton fichier : « En gris colonne N les catégories correspondantes aux préfixe ». Je ne vois pas en quoi cette information m’est utile.
Tu ajoutes : « Pour la macro évènementielle l'idée serait qu'à chaque fois qu'une catégorie est inscrite en C, la dernière incrémentation (préfixe +max ) augmentée de 1 s'inscrive en O. ». Là non plus je ne vois pas trop ce que tu veux dire. En C (je présume que tu veux dire dans la colonne C) je ne vois rien. Où inscrirais-tu une catégorie en C ? Quel rapport ça a avec la colonne N ?
Tu dis encore : « Si je rentre accessoires en C (via une liste) alors en O s'inscrit ACC-3 (puisque la valeur maximale était ACC-2) ». Où se trouve cette liste en C ? Sur quelle ligne de la colonne O veux-tu incrémenter quoi que ce soit ?
A propos de la modification des variables de la macro existante, je ne comprends pas quelle colonne (et la colonne entière ?) tu voudrais déplacer ni où Tu veux la déplacer. Mais si tu ne connais pas grand-chose aux macros, ce sera difficile de t’expliquer comment modifier tout le code. Réponds déjà à mes premières questions de ce paragraphe et je verrai si je peux répondre à ton attente au sujet des modifications de la macro.
Je t’ai dis que les formules en place sur les autres feuilles de ton fichier ralentissaient probablement la macro, et non pas le nombre de feuilles du fichier.
A te relire.
Bonjour R@chid,
Il m'a fallu un petit peu de temps pour comprendre la formule mais...Merci beaucoup, car cela fonctionne parfaitement et me permet de garder la main en rajoutant ou supprimant des colonnes, car je suis capable d'en modifier les variables.
Bravo encore,
Bien cordialement,
Valérie
Bonjour Yvouille,
Navrée de ne pas avoir été suffisamment claire.
" La clarté orne les pensées profondes. " écrivait de Vauvenargues, il me parait certain qu'en ce qui concerne Excel les miennes demeurent pour le moins superficielles.
R@chid m'a proposé une solution avec une formule qui fait mon affaire, d'autant qu'elle m'offre la possibilité d'une certaine souplesse, qui m'est interdite sous VBA que je ne connais pas du tout. Et comme tu le fais remarquer justement, les modifications risquent de ce fait d'être des plus aléatoires or mes tableau ne sont pas figés et évoluent au fil du temps.
Dans tous les cas merci de ton aide, je reste toujours très sensible au personne qui donne de leur temps et de leur savoir pour aider d'illustres inconnus. La moindre des politesses étant de ce fait, pour les demandeurs, de faire l'effort de clarté nécessaire à la compréhension de leur problème... je pensais l'avoir fait.. mais visiblement pas suffisamment... tu as donc raison de le souligner.
Bien cordialement,
Valérie