Créer des références en fonction de ce que l'on remplit dans son userform

Theymis

XLDnaute Nouveau
Bonsoir à tous, :)

Je viens vers vous car je suis un peu bloquée. J'ai créé un userform avec combobox et zones de texte. Je recherche si c'est possible à pouvoir créer des sortes de "référence" en fonction de ce qui est inscrit dans mon userform.

C'est à dire que si par exemple je choisis "mobilier" et que la date est 03/01/2013 j'aurais comme référence :
MO20130_1 le 1 correspondant à ma première saisie.

Je pensais au début utiliser la fonction si mais cela n'a pas marché (du moins ce que j'avais rentré)...

Je vous joind un petit fichier

Merci d'avance pour votre aide.
 

Pièces jointes

  • Exemple.xlsm
    20 KB · Affichages: 43
  • Exemple.xlsm
    20 KB · Affichages: 50
  • Exemple.xlsm
    20 KB · Affichages: 47
C

Compte Supprimé 979

Guest
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Bonjour Theymis,

Tout d'abord je pense que ton référencement n'est pas correcte,
perso je mettrais l'année et le mois avec un incrément sur au moins 3 chiffres : MO201301_001

de plus à quoi correspond ton 0 de MO20130_1

A+
 

bbb38

XLDnaute Accro
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Bonsoir Theymis, le forum,
Petite précision à apporter (pour ma part, car je n’ai pas tout compris) :
Ton code se décompose des 2 premières lettres des libellés des Catégories (j’espère que tu n’auras de doublons avec simplement les 2 premières lettres), puis de l’année. A quoi correspond le chiffre 0 ?
Cordialement,
Bernard

P.S. : Bonsoir Bruno, Je ne suis pas rapide pour écrire un message.
 
Dernière édition:

Theymis

XLDnaute Nouveau
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Bonsoir,

tout d'abord merci à tout les deux de vous pencher sur ma question. Pour vous répondre, l'idée de mettre le mois est trés bonne, je n'y avais pas pensé. Le 0 devait se trouver après le "_" erreur de frappe désolée. Sinon concernant les deux premières lettres normalement pas de doublons possible car aucune de mes catégories ne commencent par les 2 même lettres.

Cordialement
 
C

Compte Supprimé 979

Guest
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Re,

Voici ton fichier modifié, il suffit de choisir la date d'entrée, puis la catégorie et de valider
La référence s'affiche alors ;)

A+
 

Pièces jointes

  • Theymis_Exemple.xlsm
    30.3 KB · Affichages: 55

Theymis

XLDnaute Nouveau
Re : Créer des références en fonction de ce que l'on remplit dans son userform

J'ai remarqué que tu avais détaillé chaque opération, je vais pouvoir relire ça tranquillement et comprendre le pourquoi du comment à mon rythme. Vraiment, merci beaucoup c'est trés aimable à toi d'avoir pris le temps de le faire :)
 

Theymis

XLDnaute Nouveau
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Bonjour,

après petite étude. Cela ne va pas tout à fait. Je m'explique en cliquant sur mobilier, j'ai bien toujours accés à ma seconde sous catégorie c'est à dire salon, sdb, chambre...etc cependant si je clique sur la catégorie "décoration", ces sous-catégories apparaissent or cela devrait être tapis, lampe...

Egalement au niveau des codes petit probléme. Si j'enregistre plusieurs articles de la même catégorie et même date ils auront le même code :

MO201301_001 Mobilier
DÉ201301_001 Décoration
LO201301_001 Loisirs
LO201301_001 Loisirs

En fait il faudrait que le dernier chiffre change à chaque fois :

LO201301_001 Loisirs
LO201301_002 Loisirs

Vaut-il mieux également que j'affine les codes c'est à dire mettre une lettre dans le code pour indiquer la sous catégorie ?
Par exemple :

MO201301_001 Mobilier --> deviendrait MOch2013_001 le "ch" correspondant à la chambre

Bien cordialement.
 
C

Compte Supprimé 979

Guest
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Re,

après petite étude. Cela ne va pas tout à fait. Je m'explique en cliquant sur mobilier, j'ai bien toujours accés à ma seconde sous catégorie c'est à dire salon, sdb, chambre...etc cependant si je clique sur la catégorie "décoration", ces sous-catégories apparaissent or cela devrait être tapis, lampe...
Effectivement, j'ai oublié d'effacer les combobox après chaque changement de choix ;)

Egalement au niveau des codes petit probléme. Si j'enregistre plusieurs articles de la même catégorie et même date ils auront le même code :
MO201301_001 Mobilier
DÉ201301_001 Décoration
LO201301_001 Loisirs
LO201301_001 Loisirs
Ne sachant pas ce que tu voulais faire, j'avais prévu ce problème, mais mis le code juste en info
Code:
  ' Evaluer si elle n'existe pas déjà (plus tard)  'Do While Application.Evaluate("COUNTIF(Produits!A:A,""" & sRef & """)") > 0
    'Inc = Inc + 1
    'sRef = Left(Me.CbX_Cat, 2) & Year(Me.DTPicker3) & Month(Me.DTPicker3) & "_" & Format(Inc, "000")
  'Loop
Donc si tu enregistre tes produits dans une feuille nommée "Produits" avec la référence en colonne A
et que tu enlèves les apostrophes du code ci-dessus, tu n'aura plus ce problème ;)

Vaut-il mieux également que j'affine les codes c'est à dire mettre une lettre dans le code pour indiquer la sous catégorie ?
Par exemple :
MO201301_001 Mobilier --> deviendrait MOch2013_001 le "ch" correspondant à la chambre
Non, je ne pense pas car tu auras un problème avec des sous sous-catégorie identiques
Exemple : Table à manger et Table basse

Il faudra simplement enregistrer la catégorie, Sous-catégorie et Sous-catégorie1 en plus de tes références

A+
 

Theymis

XLDnaute Nouveau
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Bonjour BrunoM45,

tout d'abord, pourquoi dis-tu que tu as oublié d'effacer les combobox ? Je ne vois pas trop ce que tu veux dire désolée...

Sinon j'ai enlevé les apostrophes comme expliqué cependant j'ai du faire une erreur mais je n'arrive pas à trouver quoi. Mon code donne ça donc :

Private Sub CdB_Valider_Click()
Dim Inc As Integer, sRef As String
Inc = 1
sRef = UCase(Left(Me.CbX_Cat, 2)) & Year(Me.DTPicker3) & Format(Month(Me.DTPicker3), "00") & "_" & Format(Inc, "000")
While Application.Evaluate("COUNTIF(Base articles!D:D,""" & sRef & """)") > 0 <-- c'est ici que l'on me surligne le code en jaune
Inc = Inc + 1
sRef = Left(Me.CbX_Cat, 2) & Year(Me.DTPicker3) & Month(Me.DTPicker3) & "_" & Format(Inc, "000")
Wend
Me.TbX_Référence = sRef
End Sub

Ps : je me suis permis de remplacer le "loop" par le "wend" car sinon cela me mettait "fin d'instruction incorrect"

Cordialement
 

Theymis

XLDnaute Nouveau
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Oui je vais te mettre carrément mon fichier base comme ça tu verras un peu dans quoi je tente de mettre tout ça.

Le mot de passe est : mom

Bien cordialement et encore merci :)
 

Pièces jointes

  • TEST2.xlsm
    59.5 KB · Affichages: 48
  • TEST2.xlsm
    59.5 KB · Affichages: 47
  • TEST2.xlsm
    59.5 KB · Affichages: 38

Theymis

XLDnaute Nouveau
Re : Créer des références en fonction de ce que l'on remplit dans son userform

1ère réponse : en fait pas de raison précise c'était pour visionner mon tableau au mileu de la feuille quand je l'ouvrais mais c'est vrai que cela ne sert à rien... :confused:
 
C

Compte Supprimé 979

Guest
Re : Créer des références en fonction de ce que l'on remplit dans son userform

Re,

Voici ton fichier renommé (plus explicite) et avec le code mis à jour ;)

Petit plus, à l'ouverture toutes les feuilles sont masquées

Dis nous ;)

A+
 

Pièces jointes

  • Theymis_BaseV3.xlsm
    64.6 KB · Affichages: 29
  • Theymis_BaseV3.xlsm
    64.6 KB · Affichages: 35
  • Theymis_BaseV3.xlsm
    64.6 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 132
Membres
104 042
dernier inscrit
tropsy89