Incrémenter une liste de numéro avec liste déroulante

qumale07 -  
 qumale07 -
Bonjour,
je suis à la recherche d'une solution sous excel pour incrémenter une liste de numéros.
Ma difficulté est de lier cette liste à une liste déroulante.
Par ex sur la première colonne j'ai un choix avec une liste déroulante et suivant mon choix je veux incrémenter des numéros 0001, 0002.
C'est à dire avoir 9999 solutions sur chaque choix de la liste.
J'espère avoir été assez cliar et que qq à une solution.

Cdt
A voir également:

8 réponses

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonsoir,

Tu veux créer une liste permettant de choisir un numéro parmi 9999 numéros (de 0001 à 9999).
C'est bien cela ?

A+
0
qumale07
 
Bonsoir
non j'ai peut être pas été clair.
Dans ma première colonne j'ai une liste déroulante avec des noms différents( par ex plaque, ressort,...). Ces noms sont associés à un code 01,02,...
Je souhaite dans une deuxième colonne incrémenter des numéros 0001,0002,....
en fonction du nom choisi dans la première colonne.
Le but est de générer ensuite un numéro.
par ex: si je choisis "plaque" j'ai un code 01, je veux dans ma deuxième colonne prendre le prochain numéro dispo entre 0001 à 9999.
Mon numéro final est du type 0P_01_0001.
La tranche 0001 à 9999 n'est pas commune à tous les codes (00,01,..) mais que chaque code dispose du même nombre de possibilité de réservation.
par ex:
si choix "plaque" code 00 associé - incrémenter numéro dispo entre 0001 à 9999.
si choix "ressort" code 01 associé - incrémenter numéro entre 0001 et 9999 indépendamment des numéros choisi pour le code 00
A+
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Une solution à tester
https://www.cjoint.com/?DAwks32BiW0

A+
0
qumale07
 
Bonjour,
tout simplement un grand merci.
J'ai pas tout compris à la macro (il faut vraiment que je me forme sur ce langage VBA) mais j'ai réussi à l'adapter à mes différentes feuilles du classeur.
J'ai juste une anomalie qui est apparue en essayant le fichier.
J'ai sélectionné les matériaux sur différentes lignes et l'incrémentation se passe bien. Par contre si je reviens sur une ligne déjà remplie, je change le matériaux puis je remets le matériaux initial l'incrémentation continue alors que la réservation du premier numéro n'est pas dans la liste.
Où est passé le numéro?

Cdt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonsoir,

Ce n'est pas une anomalie, c'est le choix de départ.
Revenir sur un matériel pour lequel un numéro a déjà été affecté est interprété comme une nouvelle saisie. L'ancien numéro est donc perdu. Tu peux par contre effectuer une correction manuelle du numéro final mais attention au risque de doublon.

Pour réutiliser d'éventuels numéros libérés, il faudrait que le programme détecte les "trous" et réaffecte ces numéros .
A noter que tu perdrais alors l'ordre des saisies, ce qui remet en cause le principe initial d'incrémentation.

A+
0
qumale07
 
Ok, merci pour l'explication.

En toute logique ce genre de manip. ne devrait pas apparaître. En tout cas bravo ça réponds parfaitement à mon besoin.

Cdt
0
qumale07
 
Bonsoir à tous
mon pb semblé bien résolu mais on nous impose pour différentes raisons liées à l'entreprise une indexation légèrement différente.
Au lieu d'être sur 4 chiffres elle passe sur 3 chiffres, jusque là ça va.
Après 999 ça passe à A01 > A99 puis B01>B99 une fois cette tranche terminée ça devient AA1 ainsi de suite.
Du coup la macro peut elle gérer une incrémentation en Alphanumérique?

Merci
0
qumale07
 
Bonjour,
pour revenir à mon sujet j'ai pensé à rajouter une condition à la macro me permettant de changer mon nombre après le chiffre 999.
Mais je n'arrive pas à le traduire dans ma macro.
1) Solution
Ma condition serait si NumMax>999 alors je divise (NumMax+1)/100 et récupère les deux chiffres après la virgule pour les insérer dans mon numéro finale.

2° Solution
Je laisse l'incrémentation actuelle avec la condition si NumMax>999 alors je récupère uniquement les 2 derniers chiffres de NumMax.

Merci par avance pour vos idées


Cdt
0