Codification fournisseur

Je cherche une macro pour la codification de fournisseurs en respectant cette procédure.

Ex: Fournisseur Etranger

E+5+4 (E: pour étranger, 5:les cinq premier caractères, 4: les quartes deuxième caractères)

E+4+3+2 s'il est composé de trois noms

Exemple: ROBERT RICHARD Belgique

Résultat: EROBERRICH

Exemple : PATRICK INDUSTRIE MARINE Espagne

EPATRINDMA

Ex: Fournisseur Local

L+5+4 (E: pour étranger, 5:les cinq premier caractères, 4: les quartes deuxième caractères)

L+4+3+2 s'il est composé de trois noms.

Ex: Fournisseur Local

L+5+4 (E: pour étranger, 5:les cinq premier caractères, 4: les quartes deuxième caractères)

L+4+3+2 s'il est composé de trois noms.

Bonjour,

Je suppose que pour le dernier exemple c'est L : pour local.

Un p'tit fichier exemple serait le bien venu compte tenu du fait qu'on ne sait pas comment sont présentées tes données ?

Les trois noms dans la même cellule ? ou une cellule pour chaque nom ?

Fournisseur local ? une colonne France ? ….

Tu auras plus de réponses avec un fichier exemple.

bonjour

salut Xmenpl

créer un ID ?

pour éviter qu'un jour il y ait 2 avec le même ID (attention, ça arrive plus vite qu'on ne pense), on fait :

AAAnnn

avec AAA les 3 premières lettres du nom

nnn de 001 à 999 : un nombre tapé au clavier qui assure que AAA003 est bien différent de AAA002.

mettre une alarme sur l'unicité

avec Excel, on peut tenter une macro de création. Mais c'est largement inutile.

note : L ou E ? inutile, ça se voit dans le champ PAYS que tu as dans ta table de données. Excel te permet de faire des tris et filtres d'in clic sur cette colonne ou pour des TCD et graphiques. Ne pas coder le pays dans l'ID.

Bonjour,

ci-joint tableau exemple.

53four.xlsx (9.13 Ko)

Bonjour ghanib, le forum,

je te retourne ton fichier modifié :

28four.xlsm (16.11 Ko)

Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Merci c marche, mais reste dans le cas ou c un fournisseur qui se compose d'un seul nom il doit être affiché =< 09 caractère alphanumérique.

Merci.

voici la nouvelle version :

19four.xlsm (16.23 Ko)
Option Explicit

Function GetCode(nom$, pays$) As String
  If nom = "" Or pays = "" Then Exit Function
  Dim Tbl, c1$, chn$, n As Byte
  c1 = Chr$(69 - 7 * (pays = "France"))
  Tbl = Split(nom, " "): n = UBound(Tbl)
  Select Case n
    Case 0: chn = Left$(Tbl(0), 9)
    Case 1: chn = Left$(Tbl(0), 5) & Left$(Tbl(1), 4)
    Case Else
      chn = Left$(Tbl(0), 4) & Left$(Tbl(1), 3) & Left$(Tbl(2), 2)
      If n > 2 Then chn = chn & Left$(Tbl(3), 3)
  End Select
  GetCode = c1 & chn
End Function

dhany

Rechercher des sujets similaires à "codification fournisseur"