XL 2016 Ajout d'un compteur spécifique

Le_Troll_Du_27

XLDnaute Occasionnel
Bonjour, voilà je me suis inspiré d'un formulaire client connu sans code.
Je voudrais inserer un code client avec des restriction sous forme "X/X-#####"
  1. X = Lettre
  2. # = Chiffre
X/ = Soit à P pour Privé ou soit C pour tout le reste
X- = Soit P pour Privé ou soit la première lettre en majuscule de la liste A de la feuille DONNEES
##### = un compteur en tenant compte de chaque catégorie

VB:
'Adapter un code source pour le code client
  '"Clients", C/C-00001  ' .........c'est à dire "C" Pour Classifier, et "C" pour (C)lients
  '"Fournisseurs", C/F-00001  ' ....c'est à dire "C" Pour Classifier, et "F" pour (F)ournisseurs
  '"Santé", C/S-00001  ' ...........c'est à dire "C" Pour Classifier, et "C" pour (S)anté
  '"Particulier", C/P-00001  ' .....c'est à dire "C" Pour Classifier, et "C" pour (P)articulier
  '************************
  '"Privé", P/A-00001  ' ...........c'est à dire "P" Pour Classifier, et "A" pour (A)mis

Private Sub TxtB_Numero40_Change()  ' .......................................................Code Client
  TxtB_Numero40.text = UCase(TxtB_Numero40)
  '9 caractères : "X/X-#####"
  Dim Texte As String
  TxtB_Numero40.MaxLength = 9  ' ..........................................................Nombre de caracteres maxi dans textbox
  Texte = TxtB_Numero40.text
  Select Case Len(Texte)
  Case 1
  Texte = Texte & "/"  ' ..........................................................Choix du vide entre les chiffres
  Case 3
  Texte = Texte & "-"  ' ..........................................................Choix du vide entre les chiffres
  End Select
  TxtB_Numero40 = Texte

End Sub
 

Pièces jointes

  • UserForm1.xlsm
    230.5 KB · Affichages: 55
Dernière édition:

Le_Troll_Du_27

XLDnaute Occasionnel
Je pose une formule :
VB:
ActiveCell.FormulaR1C1 = _

  "=IF(LEFT(RC[-57],1)=""P"",""P/"",""C/"")&IF(RC[-57]<>""Privé"",LEFT(RC[-57],1)&""-"",""A-"")"

Comment insérer cela en ajoutant un compteur de façon que le code client soit unique

Cordialement
 

Le_Troll_Du_27

XLDnaute Occasionnel
X/ = Si <> Privé="C/ " sinon "P/"
X = 1 première lettre en majuscule de la liste A de la feuille DONNEES
"-"
##### = un compteur en tenant compte de chaque catégorie
en gros :
si la CmbB_Groupe_Nom <> "Privé" alors on affiche "C/"sinon on affiche "P/"
on extrait la 1 ère lettre à Gauche de la CmbB_Groupe_Nom
"-"
compteur 5 chiffres 00001

VB:
' affiche le n° dans l'UserForm1 dans ma colonne BF qui est ma TxtB_Numero40
    xdlgn = Ws.Range("BF65536").End(xlUp).Row        ' ............................................Permet de se positionner sur la dernière ligne de tableau
    If xdlgn = 1 Then
      Userform1.TxtB_Numero40 = Left(CmbB_Groupe_Nom, 58) & "/" & Left(CmbB_Groupe_Nom, 58) & "-" & "00001"
    Else
      Userform1.TxtB_Numero40 = "X/X-####" + 1
    End If
 

Discussions similaires

Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 184
dernier inscrit
Di Martino