Codification sur excel

EXCEL.M Messages postés 15 Statut Membre -  
EXCEL.M Messages postés 15 Statut Membre -
Bonjour,

J'aurais aimé savoir s'il est possible de codifier un nom sur excel.


en B1 : Flacon
en C1 : année création (ex 2013)
en A1 j'aimerai avoir un résultat du type : 13 F 001A
- 13 pour 2013
- F pour flacon
- 001 (c'est le premier créé cette année: doit se créer automatiquement à la suite du dernier pour ne pas voir à rechercher ce dernier)
- A : première version ( possibilité d'ajouter une colonne comme référence : version n°)

Merci d'avance

3 réponses

  1. bouda08
     
    Bonjour

    Ceci est possible en utilisant la formule =gauche ou =droite
    + la fonction concatener
    Ex : Cel A1 "ABC" et Cel A2 "DEF"
    dans la Cel A3 =CONCATENATE(droite(A1;2);droite(A2;1)) donne le résultat
    bcf
    0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    pour être entièrement automatique:

    1° pour l'indice A,B,C créer une colonne hors champ avec les lettres nécessaires en colonne (A,B,C,jusqu'à l'indice maxi à utiliser), par exemple de X1 àX26

    2°)si votre tableau commence en A1 pour avoir l'ensemble de la notation sans autre données:
    en B l'année
    en C le type (Flacon)

    3° en A1:

    =SI(OU(B1="";C1="");"";DROITE(B1;2)&" "&GAUCHE(C1;1)&" "&TEXTE(NB.SI($B$1:B1;B1);"000")&INDEX(X:X;SOMMEPROD(($B$1:B1=B1)*($C$1:C1=C1))))

    le code TEXTE(NBCAL($A$1:A1);"000") vous donnera sous forme de texte le N° en fonction du nombre de valeurs inscrites dans la, colonne A au niveau de la ligne contenant la formule_sous forme de texte à 3 caractères

    le dernier code SOMMEPROD(...qui définit l'indice ira chercher dans la liste des lettres celle qui correspond au nombre de fois ou apparaissent au dessus de la ligne(incluse) l'année en A et le nom en B (donc l'indice recommence à A en changeant d'année)

    Note:
    bien respecter les positions des signes $ dans les adresses, il n'y en a pas partout avant de tirer la formule

    le système impose qu'il n'y ait pas de ligne vide en A et B dans le tableau.

    pour info voila ce que ça donne
    https://www.cjoint.com/c/CGfnmB0XA8r
    (version qui recommence à 1 chaque année)
    crdlmnt

    Errare humanum est, perseverare diabolicum
    0
    1. EXCEL.M Messages postés 15 Statut Membre
       
      merci beaucoup !! ça fonctionne très bien! à un petit détail près..

      les chiffres sont à la suite les uns des autres et ne redemarrent pas à 001 pour un nouveau type. Ex je peux avoir : 13 F 001A et 13 B 001A,
      et je voudrais que s'il y a un nouveau F il devienne 13 F 002A même s'il est après une ligne avec un B, en revanche si un B est à la suite il prendra le numéro apres le dernier B

      Est-ce possible d'avoir ce résultat?

      Encore une fois merci, ça m'a deja énormement aidé
      0
    2. EXCEL.M Messages postés 15 Statut Membre
       
      et je viens de voir à l'instant que ça ne faisait pas le résultat que je désirais. En effet ce n'est pas la lettre qui doit changer à chaque nouvelle référence ex:
      13 F 001A
      13 F 001B
      mais le chiffre
      13 F 001A
      13 F 002A
      la lettre ne doit changer que lorsque l'on change de version (indiquer dans une colonne à côté)

      et les chiffres redémarents si le type change ex: B; mais continu de s'ajouter à la suite. Ainsi on aura:


      13 F 001A
      13 F 002A
      13 F 003A
      13 B 001A
      13 B 002A
      13 F 004A
      13 F 001B
      0
    3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Alors essayez avec celle ci en A1:

      =SI(OU(B1="";C1="");"";DROITE(B1;2)&" "&GAUCHE(C1;1)&" "&TEXTE(SOMMEPROD(($B$1:B1=B1)*($C$1:C1=C1));"000")&INDEX(X:X;SOMMEPROD(($B$1:B1=B1)*($C$1:C1=C1))))

      crdlmnt
      0
    4. EXCEL.M Messages postés 15 Statut Membre
       
      cool merci !! ça marche super bien !!

      bonne journée =)
      0
    5. EXCEL.M Messages postés 15 Statut Membre
       
      RE bonjour,

      J'aimerai que pour lorsque j'indique une nouvelle version (ex : B) il ne recherche pas le dernier B pour mettre le chiffre de celui si à la suite mais qu'il regarde qu'elle ligne supèrieure est identique à la sienne pour reprendre le même code et remplacer A par B
      pour l'instant j'ai :
      =SI(OU(B4="";C4="");"";DROITE(B4;2)&" "&SI(C4="capsule";SI(D4="charnière";"";"B");GAUCHE(C4;1))&GAUCHE(D4;1)&GAUCHE(E4;1)&" "&TEXTE(SOMMEPROD(($B$4:B4=B4)*($C$4:C4=C4)*($H$4:H4=H4)*($D$4:D4=D4)*($E$4:E4=E4));"000")&H4)
      en H4 : la lettre de la version

      ex:
      ici si j'a en 1ère ligne 13 F 001A
      en 2ème : 13 F 002A
      en 3ème (ligne identique sauf version à la 2ème) : 13 F 001B alors que j'aimerai : 13 F 002B

      merci d'avance
      0
  3. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Si en D1 tu rajoutes la version et en E1 le N° automatique :

    En E1 le nombre 1 et en E2 la formule =E1+1 (à étirer vers le bas)

    la formule en A1 peut être

    =DROITE(C1;2) & " " & gauche(B1;1) & " " & REPT("0";3-NBCAR(E1) & E1 & D1

    A étirer vers le bas

    Cdlmnt
    0