XL 2013 Problèmes numéros manquants pour incrémentation

Bitiligo

XLDnaute Nouveau
Bonjour le forum,

J'ai créé une base de données sous Excel sous la forme d'un tableau. J'ai une colonne "code article" qui doit fonctionner telle une clé primaire.

Pour ce faire, à l'aide du VBA, un code article est généré automatiquement suivant la valeur d'une ComboBox et la valeur d'un OptionButton.

La valeur de ma ComboBox correspond à un corps de métier du bâtiment et la valeur de l'optionButton à un type de prestation.

Ainsi, par exemple, un code article est généré comme suit après clic sur bouton de l'userform :

Valeur saisie dans ComboBox : Peinture (Pein)
OptionButton sélectionné : Pose
Le code article généré sera : Pein_P (+ un numéro qui lui est attribué sous forme d'incrémentation)

Sous forme de variable, un code article est constitué comme suit : corps_de_métier & "_" & type_prestation & numero

A savoir que l'incrémentation des numéros attribués dépendent du corps de métier et du type de prestation.

Jusqu'ici je n'ai aucun soucis.

Mon soucis commence ici ! :(

Imaginons que dans la colonne "Code article" j'ai les codes articles suivants suite à des saisies :

Agc_F1
Agc_F2
Pein_P1
Pein_P2
Pein_F1
Agc_F3

(Agc = Agencement; Pein = Peinture; F = Fourniture; P = Pose)

Si je veux supprimer l'article correspondant au code "Agc_F2", je vais avoir ça :

Agc_F1
Pein_P1
Pein_P2
Pein_F1
Agc_F3

Mon problème est le suivant :
Lorsque je saisirai à nouveau un article d'agencement correspondant à de la fourniture, j'aurais "Agc_F4" alors que je voudrais "Agc_F2".
J'aimerais récupérer les numéros manquants pour avoir :

Agc_F1
Pein_P1
Pein_P2
Pein_F1
Agc_F3
Agc_F2


Désormais, à ce stade, à la prochaine saisie d'un article d'agencement correspondant à de la fourniture, le code article généré sera "Agc_F4", soit le résultat suivant :

Agc_F1
Pein_P1
Pein_P2
Pein_F1
Agc_F3
Agc_F2
Agc_F4

Ci-joint un fichier exemple que j'ai adapté pour que vous puissiez bien comprendre mon problème. (Dans ce fichier, j'ai supprimé le code article "Agc_F3").

Merci d'avance pour votre aide, en espérant avoir été assez clair dans mes explications :s.
 

Pièces jointes

  • FichierTest.xlsm
    27.5 KB · Affichages: 50

Bitiligo

XLDnaute Nouveau
Bonjour pierrejean,

Tout d'abord je tiens à vous remercier pour la rapidité de votre réponse.

Vous avez parfaitement répondu à mon problème sauf que ça ne marche pas si je supprime un code article ayant le numéro 1 (exemple : Agc_F1, Pein_P1, etc.). Sinon à partir de 2 ça fonctionne.

Avez-vous une solution pour contourner ce petit problème ?

Merci pour votre aide !
 
Dernière édition:

Bitiligo

XLDnaute Nouveau
Re-bonjour pierrejean,

Lorsque j'ajoute le 1er article d'un corps de métier j'ai un bug, du coup avec le débogage le soucis du numéro 1 viendrait de la ligne suivante :
VB:
If num_art = 0 Then num_art = tablo(UBound(tablo) - 1)
 
Dernière édition:

Bitiligo

XLDnaute Nouveau
Bonjour pierrejean,

J'ai décelé un bug sur la dernière version du fichier : prenons par exemple le corps de métier "Menuiserie intérieure", lorsque je lui attribue une prestation de "fourniture + pose", il y a une incompatibilité de type (erreur 13) en lui attribuant une prestation de "fourniture" au prochain ajout. Du coup il n'y a pas de code article généré. Le programme ne comprend peut-être pas à cause du mot-clé "fourniture" dans les 2 types de prestations... L'erreur est située à la ligne 57 du code.

Pouvez-vous m'aider s'il vous plait ?

Je vous remercie d'avance pour un retour de votre part, en espérant y trouver une bonne nouvelle... :)
...On y est presque ! ;)

Cordialement,

Bitiligo.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 080
Messages
2 116 024
Membres
112 638
dernier inscrit
Kapucine