Création d'un code produit

ezrielle

XLDnaute Occasionnel
Bonjour à tous,

J'essaye de creer un userform me permettant d'ajouter des articles dans un tableau base de données.

Chaque article va avoir un code propre mais je n'arrive pas a creer le codeVBA.

J'ai tt detaillé dans le fichier joint pour que la compréhension soit plus clair dans la feuille base de données .

Merci pour votre aide

Ez
 

Pièces jointes

  • Ez130909.zip
    24.6 KB · Affichages: 87

Bebere

XLDnaute Barbatruc
Re : Création d'un code produit

bonsoir ezrielle
fait les 3 combobox en cascade
sélection dans 1ère,puis dans 2ème et 3ème
pour nouvelle entrée dans textbox2,valider et le nouveau code se crée
la suite laissé tel que
à bientôt
 

Pièces jointes

  • Ez130909rielle.zip
    30.4 KB · Affichages: 88

ezrielle

XLDnaute Occasionnel
Re : Création d'un code produit

Merci beaucoup c'ets genial


J'ai essayé de comprendre vos codes et d'imiter pour completer et contininuer mon userform, principalement pour le code fournisseur mais je n'y arrive pas

Merci encore d'avance pour votre aide

Bonne soirée
Ez
 

Pièces jointes

  • MatXLD.zip
    46.2 KB · Affichages: 51

ezrielle

XLDnaute Occasionnel
Re : Création d'un code produit

Merci Bebere,

Est ce que je peux continuer de te demander un petit service ?
juste est ce que dans mon usf nouvel article il serait possible d'enlever l'option button (lire et nouveau)
Je vais utiliser ce userform uniquement pour ajouter des nouveaux articles j'en ai un autre qui me permet de mettre à jour les stocks et de gerer les entrés et sortis.

Se serait vraiment genial !

Merci enormement pour ton aide

Ez
 

ezrielle

XLDnaute Occasionnel
Re : Création d'un code produit

Bonsoir Bebere

Merci beaucoup pour ton aide vraiment précieuse!

Une dernière question, à chaque fois que j'ajoute un nouveau code produit, ce code débute à 4 par exemple si j'ai C_C 2 quand je vais en creer un nouveau il va passer directement à C_C4
Je n'arrive pas à corriger cette erreur .

Egalement pour vider mon userform une fois que je valide.

Je suis vraiment confuse de continuer de te dernager.

Je dois rendre ce projet demain, si ca t'interesse je t'enverrai la globalité ?

Merci encore mille fois pour ton aide

Ez
 

ezrielle

XLDnaute Occasionnel
Re : Création d'un code produit

Re,

J'essaye de résoudre les problemes par moi meme mais j'ai vraiment du mal à tout comprendre.

lol, j'ai encore beaucoup besoin de pratiquer et pleins de choses à apprendre !

Merci beaucoup pr ton aide

La novice EZ
 

ezrielle

XLDnaute Occasionnel
Re : Création d'un code produit

Bonjour Bebere,

Passé une bonne soirée?

Merci pour tout !

Je suis confuse mais l'incrementation a tj un tt petit prob qd le code est à 1 ou inexistant il ne s'incremente pas par contre qd il est à 2 c'est bon!

Ex L_LL_01 va repeter ce meme code il ne s'incrémentera pas en L_LL_02

Par contre sI j'ai C_C_04 il s'incrémentera enC_C 05

J'ai essayé de mettre une condition pour que si c'est à 0 ou 1 ca face N=N+1 et si c'est differnet de 0 ou 1 se soit N

Mais ca marche pas!

J'envoie mon programme à mon chef ce soir 19h dernier delais !
J te le ferai suivre dans la foulée mais si tu pouvais jeter un dernier coup d'oeil tu serais parfait !

Merci enormement
Bonne journée
EZ
 

Bebere

XLDnaute Barbatruc
Re : Création d'un code produit

oui Ezrielle j'ai oublié au moins 2 choses dans le code
la comparaison dans la boucle for each cel, n'était pas bonne
et si n=0

Private Sub CommandButton1_Click() 'nouveau
Dim Cel As Range, Mot As String, MotC As String, N As Byte, Pos As Byte

If Me.TextBox2 <> "" Then
NaCodeInterne = ""
Pos = 0: N = 0
MotC = Mid(Me.NAgroupe, 1, 1) & "_" & Mid(Me.NAfamille, 1, 1)
Pos = InStr(Me.NAfamille, "-")
If Pos > 0 Then MotC = MotC & UCase(Mid(Me.NAfamille, Pos + 1, 1))

NAarticle.AddItem Me.TextBox2
NAarticle.Value = UCase(Me.TextBox2)
With Worksheets("Base")
For Each Cel In .Range("D2:D" & .Range("D65536").End(xlUp).Row)
If Mid(Cel, 1, InStrRev(Cel, "_") - 1) = MotC Then
N = N + 1 'compte
End If
Next Cel
End With
'code interne suivant
If N = 0 Then
N = 1
Else: N = N + 1
End If
Mot = "000"
Mot = Mid(Mot, 1, Len(Mot) - Len(N)) 'enlève 0 en trop
Me.NaCodeInterne = MotC & "_" & Mot & N 'ajoute index
'code fournisseur
Me.NaCodeFournisseur = Mid(Me.NAarticle, 1, InStr(Me.NAarticle, "_") - 1)

End If

End Sub

soirée bonne,lecture

à bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 223
Messages
2 086 407
Membres
103 201
dernier inscrit
centrale vet