Macro pour séparer contenu Cellule avec insertion colonne

Bonsoir,

J'ai un tableau avec un grand nombre de données. Je voudrai séparer le contenu d'une cellule en deux: jusqu'au symbole ":", ça reste dans la cellule d'origine et après le symbole ":" ça se colle dans une colonne que j'insère à droite.

Exemple:

Avant: Colonne D = Tube : 123456

Colonne E = Bonjour

Après: Colonne D = Tube

Colonne E = 123456

Colonne F = Bonjour

Voilà le code que j'essaie d'utiliser, mais en vain jusqu'à maintenant

Dim i As Long, ii As Long, iii As Long, iLR As Long, Arr
iLR = Range("D" & Columns.Count).End(xlUp).Column
For i = iLR To 2 Step -1
Arr = Split(Cells(i, 4), ":")
ii = UBound(Arr)
If ii > 0 Then
   For iii = 1 To ii
      Columns(i).Insert Shift:=xlLeft
   Next
   For iii = 0 To ii
      Cells(i + iii, 4) = Arr(0 + iii)
   Next
End If

Next

J'espère que vous pourrez m'aider.

Yoann

Bonsoir,

l'insertion d'une colonne est commune à toutes les lignes, donc elle est à exécutée qu'une fois...

Ci joint un fichier :

Maintenant c'est peut être une insertion de cellule sur la ligne testée avec un décalage à droite des cellules de droite...

A ce moment là ce n'est pas une insertion de colonne...

@ bientôt

LouReeD

Bonsoir,

Re-, LouReed

Sans utilisation de tableau VBA, juste avec une fonction native d'Excel "Données/Convertir" :

(En utilisant "sauvagement", et sans paiement des droits d'auteur, le fichier de LouReed, vu qu'il n'y avait pas de fichier exemple....)

Sub Macro2()
Columns("E:E").Insert Shift:=xlToRight
Columns("D:D").TextToColumns Destination:=Range("D1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, Other:=True, OtherChar:=":"
End Sub

Bonne soirée

Mais allez-y cousin ! Utilisez sauvagement mon fichier !

Ci-joint le fichier modifié afin de faire l'insertion de cellule uniquement sur les lignes où l'on trouve un ":"

@ bientôt

LouReeD

Rechercher des sujets similaires à "macro separer contenu insertion colonne"