Création inventaire, génération de codes

Bonjour à toutes et à tous,

Je dois créer une feuille de calcul qui génère automatiquement une référence composée de 6 lettres et 4 chiffres. la colonne D contient les 4 lettres du code catégorie, la colonne E un code fournisseur et la colonne F contient le nombre tapé à la volée. La colonne H le code complet généré.
Evidemment, je désire que si je tape 12 Excel génère 0012 et le colle avec le résultat de la case voisine pour générer mon code: ... La colonne G rajoute le nombre de 0 nécessaire. C'est dans cette colonne G que se pose le problème : voici la formule que j'utilise pour générer la suite de chiffres :

=SI(F2<10;CONCATENER("000";F2);SI(ET(F2>=10;F2<100);CONCATENER("00";F2);SI(ET(F2>100;F2<1000);CONCATENER("0";F2);F2)))

Comme vous le remarquerez sûrement j'ai mis en gras italique là où le problème se pose. Je devrais mettre à la place de cette condition SI(ET(F2>=100;F2<1000) Sinon à la valeur 100, la bête ne fera pas son travail... Or si je mets ce signe égal, Excel me renvoie la formule sans rien faire... J'ai cherché à comprendre, j'ai isolé cette formule pour l'essayer seule non seulement pas de changement mais si je tape en colonne F la valeur 102 j'obtiens le même résultat, c'est à dire rien...

Avec toutes les autres valeurs de 1 à 9 999 tout se passe bien (avec la première formulation), mais pour cette seule valeur avec la formule corrigée qui devrait le prendre en compte, ça plante. Je ne comprends pas, pourriez éclairer ma lanterne?

Merci d'avance et bonne année !

image

Bonjour

Et pourquoi pas en G2

=texte(f2;"0000")

A+ François

Bonjour à tous !

La colonne G est nécessaire ?

En colonne H, on peut mettre en place le résultat attendu directement :

image

(Avec l'aimable participation de fanfan38 (Hello !) )

Bonjour et merci à vous deux (Fanfan et JFL) pour vos réponses et votre réactivité. Mais le nombre de caractères de la réponse doit être de 10. Donc :

Oui la colonne G est indispensable puisque c'est elle qui indique le nombre de 0 nécessaire pour compléter le code. Réponse type "rajoute 3 zéros si valeur en F = 9" il faut 3 zéros (0009) mais si on a en F la valeur 152, il ne faut plus qu'un zéro (0152).

Le but de ma "super formule" c'était justement d'éviter de taper la partie nombre avec le nombre de zéro correspondant donc je ne peux pas avoir une réponse uniforme du type rajoute 4 zéros... et le nombre de caractère du code doit être de 10.

Par ailleurs, je ne comprends pas pourquoi pour cette seule valeur (F=100) j'ai ce problème. J'ai essayé aussi de mettre SI(ET(F2>99;F2<1000);CONCATENER("0";F2);F2) et ça ne fonctionne pas non plus !!! J'aime bien comprendre et là, je ne vois pas pourquoi, Excel fait une fixette sur cette valeur !!! Merci de votre aide, si l'illumination du dieu d'Excel vous frappe, merci de me faire signe !!! au moins l'explication de ce phénomène !!!

Belle journée à toutes et à tous

re Bonjour

Je viens de m'apercevoir que la solution de JFL fonctionne, je n'avais pas vu la formule tapée dans l'illustration et effectivement, ça fonctionne !!! Je ne connaissais pas cet usage de la fonction texte. Un grand merci à tous !

Bonne Année et encore merci.

Bonjour à tous de nouveau !

Bien....

Je vous remercie de ce retour.

Rechercher des sujets similaires à "creation inventaire generation codes"