Formule pour "transformer" une numérotation

Bonjour à tous,

D'abord merci pour toute l'aide disponible sur ce forum qui est une mine d'or.

Je viens demander de l'aide car je sèche sur un sujet.

J'ai des fichiers très volumineux pour lesquels je dois changer une codification.

Je m'explique, avec par exemple le client n°111:

La codification actuelle est :

  • soit C00111000 dans certains fichiers
  • soit 1110000 dans d'autres fichiers
  • soit CCL00111 dans d'autres fichiers

Je souhaite transformer cette codification (le n° client reste le même), pour que ça devienne partout comme ceci : C00000111.

Je ne sais pas comment faire, mes fichiers sont très volumineux (au moins 5000 clients) donc j'aimerais avoir une formule (ou 3 car j'ai 3 types de codifications actuellement) pour modifier cela plus rapidement...

Merci à vous pour votre aide.

Pieric

Bonjour,

Si tu as au moins 5000 références tes exemples sont insuffisants car il faut utiliser pour chaque exemple les 4 digits significatifs.

Si tu as un clients 1111 comment cela se traduirait-il dans chaque cas ? par un zéro de moins et si oui lequel ?

A+

Bonjour Pierric , bonjour e forum,

3 misérables exemples se sont pas suffisants pour en déduire des formules qui fonctionneront dans tous les cas !... Un fichier serait, comme toi, le bienvenu...

[Édition]

Bonjour Galopin nos post se sont croisés... Et en plus tu m'as copié...

7codes-clients.xlsx (16.28 Ko)

Bonjour Galopin et ThauThème,

Merci pour votre retour rapide.

Je vous joint un petit fichier qui explique les cas de figure.

Car oui, j'ai oublié de préciser mais c'est important : Chaque classeur a sa propre codification => Il n'y a donc pas de classeur ou on retrouve à la fois le type 1110000 et le type C00111000 par exemple.

Du coup, seul le classeur de type "1110000" va au delà de 999, et ça devient dans ce cas 11110000.

Il n'y a donc pas de 0 en moins mais un chiffre en plus au début.

J'espère avoir été clair.

Merci,

Re,

Dans le type où il n'y a aucune lettre, comment savoir si le code du client est 111 (1110000) ou 1110 (1110000) ? Une macro mal écrite va foutre un b***el incroyable dans la codification de tes clients... Je ne m'y risquerai pas tant que tu ne fera pas l'effort de nous fournir une fichier exemple décent

Re,

Désolé de ne pas fournir un fichier décent, je pensais, à tort, que les informations étaient suffisantes.

Dans l'état actuel :

Pour les clients jusqu'à 999, le format de nombre est composé de 7 chiffres.

A partir de 1000, le format de nombre est composé de 8 chiffres.

Donc si le code est 1000000 => client numéro 1 => C00000001

Si le code est 1100000 => client numéro 11 => C00000011

Si le code est 1110000 => client numéro 111 => C00000111

Enfin, si le code est 11100000 => client numéro 1110 => C00001110

=> Il y a donc toujours quatre 0 après le code client (dans l'état actuel).

Pour l'état que je vise, il y aura toujours C suivi de 8 chiffres ensuite

Bonjour Pjacquet, le Forum,

Pour le premier cas, celui commençant par un C. Tu peux appliquer la formule = CNUM(STXT(A1;3;4)) où A1 représente la cellule de ton ancien code. Et ensuite appliquer au numéro client ressorti une nouvelle présentation.

Pour ton troisième cas, celui commençant par CC, tu peux faire = CNUM(STXT(A3;5;4)) où idem A3 est l'ex-code client. Puis appliquer ta nouvelle présentation.

Pour ton deuxième cas, où tu donnes l'exemple du client 11, 111 et 1110. Il reste à savoir comment tu peux distinguer le client 11 du client 110. Et du client 1 par rapport au client 10. Et pareillement pour 22 et 220; 2 et 20 etc... Pour l'instant cela pose souci.

A suivre...

Bonjour X Cellus!

Merci pour ton aide.

Concernant ta question, je viens de bien vérifier mes fichiers, et pour les clients que j'ai à traiter, le plus petit numéro et 200...

Donc du coup je peux faire les différenciation car le client 200 et le client 2000 n'auront pas le même nombre de 0 !

Mais du coup quel formule je pourrais appliquer pour ce cas de figure... ?

Merci !!

A nouveau,

Effectivement dans ton cas n° 2 si aucun numéro client est inférieur à 100 alors tu peux utiliser:

Si le numéro client a un format nombre tu peux faire = A2/10000 où A2 représente l'ancien N° client. Le résultat te laissera un N° client auquel tu appliqueras ta nouvelle présentation.

Si le numéro client a un format texte ce sera = CNUM(A2/10000). Bien qu'avec le signe = les tableurs transforment tous texte composé uniquement de chiffres en nombre. Ici cela permet de garder une cohérence avec les 2 autres formules des 2 autres cas.

Bonne continuation.

Salut galopin01 , ThauThème; X Cellus; pjacquet

tu peux nous dire comment tu représentes le client N 10

Donc si le code est 1000000 => client numéro 1 => C00000001

Bonjour à tous,

Merci pour ton aide XCellus, avec ces différentes méthodes j'ai pu faire ce dont j'avais besoin

A plus,

Bonjour Pjacquet,

Très bien, cela sera plus rapide pour modifier l'ensemble de tes numéros.

N'oublie pas d'indiquer ce sujet comme résolu. Merci.

Rechercher des sujets similaires à "formule transformer numerotation"