Séparer le contenu d'une cellule excel en 2 avec une macro

Résolu
Jemis1979 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
Jemis1979 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour les amoureux d'Excel et de ses macros,

Mon problème est dit dans le titre, lorsque que j'ai ça dans une cellule :
[SAV / Berlin]

Je voudrais 2 cellules :
[SAV] [Berlin]

Jusque là je peux y arriver...

Là où ça se complique, c'est que j'ai environ 4000 cellules à séparer et ce, toutes les semaines.
D'où l'idée de macro. Et que toutes ces cellules se présentent différemment. Le seul point commun est le : "espace"/"espace", ce qui me créer la séparation visuelle des infos.
Exemples :
[SAV / Berlin] --> [SAV] [Berlin]
[BATIMENT H / CU102] --> [BATIMENT H] [CU102]
[LOCAL C / arm5/1] --> [LOCAL C] [arm5/1]

J'espère avoir été assez clair dans mon besoin...

Merci à vous !
A voir également:

3 réponses

Utilisateur anonyme
 
Bonsoir

Pour découper un texte suivant un delimiteur connu, il y a la fonction split https://www.qwant.com/?q=vba+split&client=brz-brave

Par contre en vba, je ne suis pas sûr que le delimiteur puisse être lui même une chaîne de caractères (et là j’ai pas de quoi tester).
Si c’est le cas, une solution est d’abord de remplacer
 / 
par un caractère que tu es certain de ne jamais trouver dans tes cellules.
1
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour le Fil,

Il n'y a aucun problème, on peut "splitter" sur une chaine comme " / " (avec des espaces)
0
Jemis1979 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour l'idée. c'est couillon mais je n'y avait pas pensé.
Maintenant je vais voir si ça passe dans une macro !
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Re,

Un autre méthode :
Option Explicit
Sub test()
Dim rng As Range

  With Worksheets(1)  ' à adapter
    Set rng = .Range("A1").CurrentRegion
    rng.Replace " / ", Chr(1), xlPart
    rng.TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, Other:=True, OtherChar:=Chr(1)
  End With

End Sub

0
Jemis1979 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Je vais tenter de spitter " / " avec une macro.
Si ça ne marche pas, j'essaierai cette solution.

Dans tous les cas, merci pour vos idées !!!
0
Jemis1979 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bon bah, l'option remplacer " / " par "@" puis splitter les cellules en délimité via "@" a parfaitement fonctionnée.

Merci pour tout !
0