Simplification code concatener

Bonjour à tous,

Pour décortiquer des QR code j'ai au départ écrit la formule suivante

=SI(NBCAR(C3)<30;CONCATENER(GAUCHE(C3;6);"0000");CONCATENER(STXT(C3;TROUVE(";";C3;1)+1;6);"0000"))*1

J'ai ensuite par rapport à mes maigres connaissances et à l'enregistreur macro créer cette formule en macro pour rendre automatique le scanning

Sub Test_Qr_Code()

Range("C7").Select
    ActiveCell.FormulaR1C1 = _
    "=IF(LEN(R[-4]C)<30,CONCATENATE(LEFT(R[-4]C,6),""0000""),CONCATENATE(MID(R[-4]C,FIND("";"",R[-4]C,1)+1,6),""0000""))*1"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
end sub

Ceci fonctionne parfaitement bien, je voudrais juste savoir et comprendre comment simplifier ce code car là c'est de l'usine à gaz je pense.

Bonjour

Sans fichier ou exemple de ce que vous pouvez avoir en C3... et en supposant que vous voulez avoir le résultat en formule, essayez ceci

Sub Test_Qr_Code()

With Range("C7")
    If Len(Range("C3").Value) < 30 Then
        .FormulaR1C1 = "=CONCATENATE(LEFT(R[-4]C,6),""0000"")"
    Else
        .FormulaR1C1 = "=CONCATENATE(MID(R[-4]C,FIND("";"",R[-4]C,1)+1,6),""0000"")"
    End If
End With
End Sub

Cordialement

Bonjour Désoler pour le retard,

Merci Dan

Rechercher des sujets similaires à "simplification code concatener"