Microsoft 365 Créér un code avec un numéro chrono

  • Initiateur de la discussion Initiateur de la discussion oceanepla
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

oceanepla

XLDnaute Junior
Bonjour à tous,

J'aimerais créer un code à partir de deux cellules (une date : C18 et de trois caractères d'une cellule : C14 ) combinée avec un numéro chrono (numéro unique de remplissage de la cellule).
Forme du code : C14,C18, num chrono
Est -ce que quelqu'un sait faire svp?
Je pense qu'il faut passer en vba.

Merci d'avance
 
Bonsoir Oceanepla,
Vous n'auriez pas un petit fichier test, ce serait plus simple.
Sinon, si date en C18,mot en C14 et num chrono en C20 alors une possibilité par formule :
VB:
=GAUCHE(C14;3)&TEXTE(C18;"jjmmaa")&C20
Par ex C14=ENTREE C18=10/05/2021 C20=123456789 alors Code=ENT100521123456789
 
Bonsoir Oceanepla,
Vous n'auriez pas un petit fichier test, ce serait plus simple.
Sinon, si date en C18,mot en C14 et num chrono en C20 alors une possibilité par formule :
VB:
=GAUCHE(C14;3)&TEXTE(C18;"jjmmaa")&C20
Par ex C14=ENTREE C18=10/05/2021 C20=123456789 alors Code=ENT100521123456789
Voici mon fichier, j'aimerais que lorsque qu'une action est saisie dans la Feuille saisie, un numéro unique lui soit attribuée à partir du département et de la date de création
(désolé mon fichier est pas encore top, j'essaie de retravailler mes macros)
 

Pièces jointes

Bonjour,
Vous pouvez essayer :
VB:
=GAUCHE(C14;3)&TEXTE(C22;"aammjj")
Ce qui, pour aujourd'hui avec le dpt DESC donnerait : DES210511
Vous noterez cependant que si le même jour vous initiez deux actions sur le même dpt alors il auront le même code.
Ce qui donnerait en fonction perso :
Code:
Function Codage(Dpt, Dat)
    Codage = Left(Dpt, 3) & Format(Dat, "yymmdd")
End Function
ou en VBA :
Code:
CodeGénéré = Left([C14], 3) & Format([C22], "yymmdd")

Addon :
Vous pourriez différencier deux actions le même jour même dpt en ajoutant :
VB:
N = Format(Application.CountIf(Sheets("PA Général").[H:H], [C14]), "00")
CodeGénéré = Left([C14], 3) & Format([C22], "yymmdd") & N
Ce qui pour DIT aujourd'hui donnerait : DIT21051105 puisqu'il y a 5 DIT dans la feuille PA Général.
 
Dernière édition:
Bonjour,
Vous pouvez essayer :
VB:
=GAUCHE(C14;3)&TEXTE(C22;"aammjj")
Ce qui, pour aujourd'hui avec le dpt DESC donnerait : DES210511
Vous noterez cependant que si le même jour vous initiez deux actions sur le même dpt alors il auront le même code.
Ce qui donnerait en fonction perso :
Code:
Function Codage(Dpt, Dat)
    Codage = Left(Dpt, 3) & Format(Dat, "yymmdd")
End Function
ou en VBA :
Code:
CodeGénéré = Left([C14], 3) & Format([C22], "yymmdd")

Addon :
Vous pourriez différencier deux actions le même jour même dpt en ajoutant :
VB:
N = Format(Application.CountIf(Sheets("PA Général").[H:H], [C14]), "00")
CodeGénéré = Left([C14], 3) & Format([C22], "yymmdd") & N
Ce qui pour DIT aujourd'hui donnerait : DIT21051105 puisqu'il y a 5 DIT dans la feuille PA Général.
Merci pour la réponse, je ne sais pas néanmoins où je dois insérer cette formule. Peux-tu m'aider?
Je ne suis pas très douée en VBA
 
Bonjour,
Un ex en PJ avec :
VB:
Sub GénérerCode()
    If [C14] <> "" And [C22] <> "" Then ' On génère un code que si une date et un dpt sont présent
        ' Nombre de dpt dans PA Général +1
        N = Format(1 + Application.CountIf(Sheets("PA Général").[H:H], Left([C14], 3) & "*"), "00")
        ' Génération du code
        [C20] = Left([C14], 3) & Format([C22], "yymmdd") & N
    End If
End Sub
J'utilise PA Général pour l'indice, sans savoir si cela est correct. A vous d'adapter.
 

Pièces jointes

Bonjour,
Un ex en PJ avec :
VB:
Sub GénérerCode()
    If [C14] <> "" And [C22] <> "" Then ' On génère un code que si une date et un dpt sont présent
        ' Nombre de dpt dans PA Général +1
        N = Format(1 + Application.CountIf(Sheets("PA Général").[H:H], Left([C14], 3) & "*"), "00")
        ' Génération du code
        [C20] = Left([C14], 3) & Format([C22], "yymmdd") & N
    End If
End Sub
J'utilise PA Général pour l'indice, sans savoir si cela est correct. A vous d'adapter.
C'est super merci bcp cela fonctionne, je suis contente
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour