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

Résolu/Fermé
Jemis1979 Messages postés 7 Date d'inscription dimanche 14 octobre 2018 Statut Membre Dernière intervention 23 octobre 2022 - 3 févr. 2021 à 18:45
Jemis1979 Messages postés 7 Date d'inscription dimanche 14 octobre 2018 Statut Membre Dernière intervention 23 octobre 2022 - 4 févr. 2021 à 17:32
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

Whismeril Messages postés 19020 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 14 avril 2024 927
3 févr. 2021 à 23:41
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
4 févr. 2021 à 09:15
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 dimanche 14 octobre 2018 Statut Membre Dernière intervention 23 octobre 2022
4 févr. 2021 à 17:07
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 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
4 févr. 2021 à 09:40
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 dimanche 14 octobre 2018 Statut Membre Dernière intervention 23 octobre 2022
4 févr. 2021 à 17:11
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 dimanche 14 octobre 2018 Statut Membre Dernière intervention 23 octobre 2022
4 févr. 2021 à 17:32
Bon bah, l'option remplacer " / " par "@" puis splitter les cellules en délimité via "@" a parfaitement fonctionnée.

Merci pour tout !
0