Déduire valeurs d'1 plage et dispatcher sur +ieurs cellules

Résolu/Fermé
DansTesReves Messages postés 4 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 15 décembre 2021 - 14 déc. 2021 à 18:35
DansTesReves Messages postés 4 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 15 décembre 2021 - 15 déc. 2021 à 18:23
Bonjour,

Je dois créer un fichier de gestion de stock de conteneurs dans un fichier Excel (1 ligne = 1 emplacement = 1 à n conteneurs). Ayant des conteneurs au contenu différents, ils sont identifiés par des cotes propres aux marchandises qu'ils contiennent (j'ai 3 types de cotes, DAF, PRO et TRA). Lors d'un déménagement, au moment de relocaliser les conteneurs, le pointage a été fait de manière rapide et sous une forme peu propice à une bonne exploitation (voir image, colonne A).
Pour explication, les valeurs de chaque ligne sont dans la première cellule de la ligne. Sur une même ligne, je peux avoir 1 ou plusieurs cotes (séparés par des ";") et si des conteneurs se suivent pour une même cote, ils sont séparés par un "-", en étant soit à la suite, soit en couvrant une plage continue.

Voici ce à quoi j'ai besoin d'arriver :



J'ai déjà pu séparer les différentes cotes entre elles (ça, c'était facile), mais pour la déduction de cotes depuis une plage, là je sèche dessus depuis 3h.

Si quelqu'un peut m'aider et si possible en m'expliquant bien la méthode, la formule ou le VBA pour que je comprenne "comment ça marche" ça serait vraiment top !

Merci d'avance et bonne soirée à toutes et tous !

Configuration: Windows / Chrome 88.0.4324.150

3 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
14 déc. 2021 à 20:56
Bonsoir

Un exemple par formules, détaillées en plusieurs colonnes pour bien comprendre :
https://www.cjoint.com/c/KLot04V5UMg
Le principe on extrait de la chaîne de caractères le premier emplacement et le dernier puis on crée autant de références distinctes allant du 1er au dernier que nécessaire

Pourrait se faire aussi par macro (selon le même principe)

Cdlmnt
Via
1
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié le 14 déc. 2021 à 20:49
Bonjour

Un essai avec macro
https://www.cjoint.com/c/KLotV4MTpOB

Cdlmnt
0
DansTesReves Messages postés 4 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 15 décembre 2021
15 déc. 2021 à 18:23
Bonjour,

Un grand merci pour ces éléments, cela ne règle pas intégralement le problème, mais en combinant tout cela à d'autres fonctions, je devrais m'en sortir !

Excellentes fêtes de fin d'année.
0