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 !

3 réponses

  1. 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
    1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      Bonjour le Fil,

      Il n'y a aucun problème, on peut "splitter" sur une chaine comme " / " (avec des espaces)
      0
    2. 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
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
    1. 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
  3. 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