Déconcatener sous VBA

Bonjour,

Je cherche depuis le fichier ci-joint à remplacer le contenu de la colonne A existante par un autre.

La nouvelle colonne A aurait pour titre CODE_RECOD et non plus CODE

Il faudrait que le contenu de chaque cellule de la colonne A reprenne l'intitulé de l'ancienne colonne A mais sous forme dé-concaténée

En gros que dans la cellule (2,A) il y ait marqué VERT, la cellule (3,A) il y ait marqué Rouge, etc.... Et ce sur près de 500 lignes

Qui peut m'aider ???

Merci

40testvba.xlsx (8.28 Ko)

Bonjour

Sub Neuer()
Dim i As Integer
i = 2
Dim taille As Integer
Dim count As Integer
Do Until IsEmpty(Cells(i, 1))
count = InStrRev(Cells(i, 1).Value, "_")
taille = Len(Cells(i, 1).Value)
Cells(i, 1).Value = Right(Cells(i, 1).Value, taille - count)
i = i + 1
Loop
End Sub

Bonne journée

Bonjour,

Autre approche :

Sub Recod()
    Dim cd, n%, i%
    With ActiveSheet
        .Cells(1, 1) = "CODE_RECOD"
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        Application.ScreenUpdating = False
        For i = 2 To n
            c = Split(.Cells(i, 1), "_")
            On Error Resume Next
            .Cells(i, 1) = c(UBound(c))
        Next i
        Application.ScreenUpdating = True
    End With
End Sub

Cordialement.

Et là on voit la différence entre celui qui sait coder en VBA et celle qui sait plus ou moins faire un truc en C et qui essaye de faire pareil en VBA

Allons ! Tu arrives bien au résultat en général !

Rechercher des sujets similaires à "deconcatener vba"