Assemblez 2 colonnes

Bonjour,

Quelq'un me peus faire un Vba qui me donne le suivant résultat:

[u](FICHIER JOINT)

[/u]

Les colonnes 4 & 5 sont les résultats du macro

Colonne 4 si pas d'année dans colonne 1 alors la colonne 4 reste inchangeable

Si année dans colonne 1 alors TBA-année(col1)-#####(col3) toujours 5 chiffres si col2 "76" alors "00076"

Colonne 5 si pas d'année dans colonne 1 alors le résultat dans la col5 doit être ABCDEFGHI-####(col3) toujours 4 chiffres si col3 "123" alors "0123"

Se sont 100.000 lignes +/-

Merci beaucoup pour votre aide

6fichier.xlsx (10.85 Ko)

Bonsoir,

Avant la macro, essaye ça par formules :

En D2 :

 =SI(A2="";B2;"TBA-"&A2&"-"&TEXTE(B2;"00000"))

En E2 :

=SI(A2="";"ABCDEFGHI-"&TEXTE(C2;"0000");"C"&TEXTE(C2;"000000000"))

et copier vers le bas

Ok merci ça marche mais je veux comme même une Macro

J'ai fais une Macro mais bon une erreur et encore dedans

Sub Main
lr = cells(rows.count, 2).end(xlup).row
for i = 2 to lr
    if cells(i,1) = "" then
        cells(i, "F") = cells(i,2)
        cells(i, "G") = "ABCDEFGHI-" & format(cells(i,3), "0000")
    else
        cells(i, "F") = "TBA-" & cells(i, 1) & "-" & format(cells(i,2), "0000")
        cells(i, "G") = "C0000" & cells(i, 3)
    endif
next i

End Sub

Si la dans la colonne C sont 4 ou moins de chiffres alors ABCDEFGHI- avec 4 chiffres

Si 5 ou plus de chiffres alors C avec 9 chiffres

Merci beaucoup pour votre aide

8example.xlsx (10.40 Ko)

Re,

Essaye ce code :

Sub test()
    lr = Cells(Rows.Count, 2).End(xlUp).Row
    For i = 2 To lr
        Cells(i, "D") = IIf(Cells(i, "A") = "", Cells(i, 2), "TBA-" & Range("A" & i) & "-" & Format(Range("B" & i), "00000"))
        Cells(i, "E") = IIf(Len(Cells(i, "C")) > 4, "C" & Format(Range("C" & i), "000000000"), "ABCEDFGHI-" & Format(Range("C" & i), "0000"))
    Next i
End Sub

Super MERCI BEAUCOUP

Rechercher des sujets similaires à "assemblez colonnes"