Bonjour Schont,
Voici un code applicable à ton problème.
Tu peux recopier ces 2 macros dans un module VBA. Pour changer les adresses des cellules, il te suffit de les modifier dans le code de la Macro1(). Ensuite, tu lances l'exécution de la Macro1 par le moyen que tu veux, un bouton de commande ou un événement de la feuille de calcul, par exemple.
Sub Macro1()
MacroFormatCode "A1", "A2", "A3", "B1"
' A1, A2 et A3 contiennent les codes, B1 le résultat sur 12 chiffres
End Sub
Sub MacroFormatCode(Cell1 As String, Cell2 As String, Cell3 As String, CellR As String)
' Cell1=cellule contenant le 1er code
' Cell2=cellule contenant le 2àme code
' Cell3=cellule contenant le 3ème code
' CellR=cellule contenant le code à 12 chiffres
Dim Code As String
' Concaténation du code
Code = Range(Cell1) & Range(Cell2) & Range(Cell3)
' Mise au format texte de la cellule du code
Range("b1").NumberFormat = "@"
' Définit le code en fonction de sa longueur
Select Case Len(Code)
Case Is < 13
Range(CellR) = Format(Code, "000000000000")
Case Else
Range(CellR) = Left$(Code, 12)
End Select
End Sub
Cordialement.
Papou