Séparation d'une colonne dans plusieurs colonnes

Bonjour,

Je ne connais rien du tout en VBA mais je pense pense que c'est la solution à mon problème.

J'ai un fichier qui dans la colonne A comprend des codes de ce type : /ROOT/C25/C25.120/C25.120.030/C25.120.030.T09/C25.120.030.T09.T01/

ce que je voudrais c'est remplir de façon automatique :

En colonne D : les caractères entre le premier et le 3ème slash en conservant les slashs

En colonne E : les caractères entre le premier et le 4ème slash en conservant les slashs

En colonne F : les caractères entre le premier et le 5ème slash en conservant les slashs

En colonne G : les caractères entre le premier et le 6ème slash en conservant les slashs

En colonne H : les caractères entre le premier et le 7ème slash en conservant les slashs

Le nombre de caractères entre les slashs est différent d'une ligne à l'autre

Le nombre de slash maximum est de 7 pour l'instant mais il peut être amené à diminuer ou augmenter dans le futur.

Quand le code ne comprend que 3 slashs par exemple, je veux que les cellules dans les colonnes suivantes restent vide.

J'avais pensé à la fonction de remplissage automatique mais je ne suis pas satisfaite du résultat et il me faudrait une mise à jour automatique lorsque le fichier (qui est connecté à une BDD Access) s'ouvre ce qui n'est pas le cas avec cette solution.

J'ai testé des formules imbriquées trouvées sur le net mais je n'arrive jamais à conserver la première partie de mon code et les slashs.

J'ai trouvé ce code VBA

'------------------------------------------------------------------------

Function LeSplit(Expression As String, _
                Séparateur As String, _
                Élément As Integer)
LeSplit = Split(Expression, Séparateur)(Élément)
End Function
'------------------------------------------------------------------------

Mais le résultat est incomplet.

Je joints un extrait de mon fichier pour vous montrer le résultat escompté ainsi que tous les cas de figure.

Merci pour votre aide

Audrey

15test-vba.ods (11.44 Ko)

Bonjour,

En faisant Données / Convertir et en mettant un / comme élément séparateur, tu "éclates" la ligne sur plusieurs colonnes,

que tu peux reconstruire ensuite en faisant = "/" & CELLULE1 & "/".

faisable ?

Alcibiade

Bonjour et merci pour votre suggestion,

J'ai déjà essayé cette solution. Mais il y a plusieurs problèmes:

  • La mise à jour n'est pas automatique
  • Si le nombre de slash est inférieur à ce que je dois trouver dans ma colonne, j'ai une répétition
par exemple : = "/" & CELLULE1 & "/" CELLULE2 & "/" Si cellule2 est vide, j'obtiens par concaténation /ROOT/C21// alors que le résultat souhaité est /ROOT/C21/ s'il n'y a rien après.

merci pour votre aide

Audrey

Bonjour,

Une proposition

33test-vba.zip (15.09 Ko)

A+

Bonjour,

C'est super! exactement ce que je voulais!

merci mille fois pour votre aide!

Audrey

Rechercher des sujets similaires à "separation colonne colonnes"