Répartir des mots séparés par un "/" dans plusieurs cellules

ttlan

XLDnaute Nouveau
Bonjour,

J'ai une colonne avec des mots (1, 2 ou 3 mots) séparés par des " / ", comme :
Pierre
Pierre / Paul
Pierre / Paul / Jaques

Je voudrais séparer ces mots dans trois colonnes (en répétant le dernier mot pour toujours compléter les 3 colonnes). Obtenir quelque chose comme la pièce jointe.

J'arrive à me débrouiller avec Pierre / Paul, mais lorsqu'il n'y a pas de "/" ou lorsqu'il y en a 2, je patauge.

Est-ce que quelqu'un a une solution simple et élégante ?

Merci

Cordialement
 

Pièces jointes

  • Separer_mots.xlsx
    8.2 KB · Affichages: 22

zebanx

XLDnaute Accro
Bonsoir ttlan, Bonsoir Dugenou

Une autre possibilité par un code en VBA

Et sinon, pourquoi ne pas utiliser le convertisseur en sélectionnant toute la colonne ?
(délimité - autre et choisir /)

++ zebanx
 

Pièces jointes

  • derligne_split.xls
    46.5 KB · Affichages: 24

zebanx

XLDnaute Accro
Re- Dugenou,

Je n'avais pas pris en compte cette demande supplétive.
Un autre essai et il faut bien considérer dans l'inputbox à mettre "/ " et non "/" pour supprimer l'espace.

++
zebanx
 

Pièces jointes

  • derligne_split-3 col.xls
    58 KB · Affichages: 20

job75

XLDnaute Barbatruc
Bonsoir ttlan, Dugenou, zebanx,

3 formules assez simples en B1 C1 D1 du fichier joint :
Code:
=GAUCHE(A1;TROUVE(" /";A1&" /")-1)

=SI(A1=B1;B1;STXT(A1;NBCAR(B1)+4;TROUVE(" /";A1&" /";NBCAR(B1)+4)-NBCAR(B1)-4))

=SI(OU(A1=B1;A1=B1&" / "&C1);C1;STXT(A1;NBCAR(B1)+NBCAR(C1)+7;9^9))
A+
 

Pièces jointes

  • Separer_mots(1).xlsx
    14.6 KB · Affichages: 19
Dernière édition:

zebanx

XLDnaute Accro
Bonsoir Job75
On a surtout pas l'habitude que tu te limites à seulement 2 propositions !! :D:D:D
Le cap des 1700 j'aime est passé tiens ;).
Et 23000 réponses depuis 2008 wa-ouhhh :rolleyes:


edit :
solution apportée par MaPomme, plus commode à utiliser, en VBA et venant d'un de ses derniers posts
 

Pièces jointes

  • Copie de zebanx- derligne_split-3 col-1 -v1.xls
    32.5 KB · Affichages: 23
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour zebanx, le forum,

Par curiosité j'ai voulu voir ce que donne le remplissage du tableau avec les 3 formules du post #6 :
Code:
Sub Spliter()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange.Offset(1)
  .Columns(2) = "=LEFT(TRIM(A2),FIND("" /"",TRIM(A2)&"" /"")-1)"
  .Columns(3) = "=IF(TRIM(A2)=B2,B2,MID(TRIM(A2),LEN(B2)+4,FIND("" /"",TRIM(A2)&"" /"",LEN(B2)+4)-LEN(B2)-4))"
  .Columns(4) = "=IF(OR(TRIM(A2)=B2,TRIM(A2)=B2&"" / ""&C2),C2,MID(TRIM(A2),LEN(B2)+LEN(C2)+7,9^9))"
  .Columns(2).Resize(, 3) = .Columns(2).Resize(, 3).Value
End With
End Sub
Chez moi cette macro s'exécute en 1,1 milliseconde, celle du post précédent en 2,8 millisecondes.
A+
 

Pièces jointes

  • zebanx(1).xls
    70 KB · Affichages: 45

zebanx

XLDnaute Accro
Bonjour Job75

C'est plus le côté de suppression des cellules en colonnes B à D (au cas où on en aurait laissés et qui n'auraient pas de correspondance en colonne A (=vide)) qui m'intéresse dans ta proposition qui touche, encore une fois, sa cible tant dans sa rédaction que sa rapidité d'exécution. On est habitué :)

L'auteur du post a le choix en tout cas et cette dernière proposition devrait l'emporter.
++
zebanx
 
Dernière édition:

ttlan

XLDnaute Nouveau
Bonjour,
Ce que je trouve scandaleux, c'est que vous ayez tous la capacité de répondre instantanément, les doigts dans le nez, à des questions (qui me semblent) tordues, avec élégance et efficacité !
J'ai adopté la formulation de job75, celle avec des formules, plutôt que du VBA dont je ne suis pas du tout familier.
Puisque c'est ainsi, j'ouvre un autre fil pour une autre question.
Merci à tous
 

zebanx

XLDnaute Accro
Bonsoir ttlan

En repartant du code de JOB75 :cool:

Il y a deux macros :
- La première remet les informations dans une seule colonne
- La seconde est le code de JOB75 (sur 3 prénoms)

Vous pourrez tout remettre dans un seul module si vous le souhaitez mais pour l'instant, les deux étapes sont séparées.

Cdlt
zebanx
 

Pièces jointes

  • liste.xls
    48.5 KB · Affichages: 21
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour ttlan, Dugenou, zebanx,

J'avais proposé du VBA (à partir des formules) parce que zebanx en est accro.

Mais c'est vraiment inutile, voyez les formules du fichier joint.

A+
 

Pièces jointes

  • Foutoir_integral_a_exploser(1).xlsx
    17.8 KB · Affichages: 22

Discussions similaires