Déplacer des caractères

piep14

XLDnaute Occasionnel
Bonjour,

Dans ma cellule, j'ai du texte de ce genre : FERRIERE BOCHARD (LA)
Moi, j'ai besoin de déplacer le (LA) en début de phrase pour obtenir
LA FERRIERE BOCHARD

Si vous avez des idées, je suis preneur ;)

Merci
 

piep14

XLDnaute Occasionnel
Re : Déplacer des caractères

Ceci marche
=SUBSTITUE(SUBSTITUE(E18; "(LA)"; "LA " & SUBSTITUE(E18; "(LA)"; " "; 1); 1);SUBSTITUE(E18; "(LA)"; "LA " & SUBSTITUE(E18; "(LA)"; " "; 1); 1);"LA "&SUBSTITUE(E18;"(LA)";" ";1);1)

Mais ca me semble être un peu une usine à gaz !
 

piep14

XLDnaute Occasionnel
Re : Déplacer des caractères

J'ai voulu tenter pour remplacer LE LA LES L
mais ca ne marche plus

=SI(ESTNUM(TROUVE("(LA)";E18;1)); SUBSTITUE(SUBSTITUE(E18;"(LA)";"LA "&SUBSTITUE(E18;"(LA)";" ";1);1);SUBSTITUE(E18;"(LA)";"LA "&SUBSTITUE(E18;"(LA)";" ";1);1);"LA "&SUBSTITUE(E18;"(LA)";" ";1);1); SI(ESTNUM(TROUVE("(LE)";E18;1));SUBSTITUE(SUBSTITUE(E18;"(LE)";"LE "&SUBSTITUE(E18;"(LE)";" ";1);1);SUBSTITUE(E18;"(LE)";"LE "&SUBSTITUE(E18;"(LE)";" ";1);1);"LE "&SUBSTITUE(E18;"(LE)";" ";1); SI(ESTNUM(TROUVE("(L )";E18;1));SUBSTITUE(SUBSTITUE(E18;"(L )";"L'"&SUBSTITUE(E18;"(L )";" ";1);1);SUBSTITUE(E18;"(L )";"L'"&SUBSTITUE(E18;"(L )";" ";1);1);"L'"&SUBSTITUE(E18;"(L )";" ";1); SI(ESTNUM(TROUVE("(LES)";E18;1));SUBSTITUE(SUBSTITUE(E18;"(LES)";"LES"&SUBSTITUE(E18;"(LES)";" ";1);1);SUBSTITUE(E18;"(LES)";"LES"&SUBSTITUE(E18;"(LES)";" ";1);1);"LES"&SUBSTITUE(E18;"(LES)";" ";1))))))))
 

Paf

XLDnaute Barbatruc
Re : Déplacer des caractères

re,

modification pour prendre en compte "Les":
=DROITE(SUBSTITUE(A1;")"; );NBCAR(A1)-CHERCHE("(";A1)-1) & " "& GAUCHE(A1;CHERCHE("(";A1)-1)

A+

Edit: il faut que je modifie encore, si la cellule ne comporte pas de (Le) (La) ou (Les) on a #VALEUR!


Re edit :
Cette fois, ça doit être bon:
=SI(ESTERR(CHERCHE("(";A1));A1;DROITE(SUBSTITUE(A1;")"; );NBCAR(A1)-CHERCHE("(";A1)-1) & " "& GAUCHE(A1;CHERCHE("(";A1)-1))

A re +
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Déplacer des caractères

Bonsoir piep14, le forum,

Si le texte est en A2 formule en B2 :

Code:
=SI(ESTNUM(TROUVE("(";A2));STXT(A2;TROUVE("(";A2)+1;NBCAR(A2)-TROUVE("(";A2)-1)&" "&GAUCHE(A2;TROUVE("(";A2)-2);T(A2))
Deux conditions :

- texte entre parenthèses à la fin du texte étudié

- un espace devant la 1ère parenthèse.

Fichier joint.

Mes meilleurs voeux à tous pour 2014.

Edit : salut Paf

A+
 

Pièces jointes

  • Classeur(1).xls
    25 KB · Affichages: 49
  • Classeur(1).xls
    25 KB · Affichages: 52
  • Classeur(1).xls
    25 KB · Affichages: 60

david84

XLDnaute Barbatruc
Re : Déplacer des caractères

Bonsoir,
à tester :
Code:
=SUBSTITUE(DROITE(A1;NBCAR(A1)-(CHERCHE("(";A1)-1)-1)&" "&GAUCHE(A1;CHERCHE("(";A1)-1);")";"")
A+
Bonsoir Gérard et bonne année à toi aussi !
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Déplacer des caractères

Bonsoir à tous_______________________________EDITION: Bonsoir job75


Une autre possibilité
Données/Convertir Séparateur : (
(deux fois suite en cliquant sur Colonne non distribuée sur les colonnes idoines)
et ensuite un concaténation de ce style
=SUBSTITUE(B1&" "&C1;")";"") puis recopie vers le bas
tdc1.jpgtdc2.jpgtdc3.jpg

PS: si besoin, le tout "macroitisé" avec VBA
 

Pièces jointes

  • tdc1.jpg
    tdc1.jpg
    65 KB · Affichages: 119
  • tdc1.jpg
    tdc1.jpg
    65 KB · Affichages: 120
  • tdc2.jpg
    tdc2.jpg
    62.3 KB · Affichages: 80
  • tdc2.jpg
    tdc2.jpg
    62.3 KB · Affichages: 81
Dernière édition:

job75

XLDnaute Barbatruc
Re : Déplacer des caractères

Re,

Une variante si le texte entre parenthèses n'a que 2 ou 3 lettres :

Code:
=SI(DROITE(A2)=")";SUPPRESPACE(SUBSTITUE(SUBSTITUE(DROITE(A2;5)&" "&GAUCHE(A2;NBCAR(A2)-5);"(";);")";));T(A2))
Fichier (2).

A+
 

Pièces jointes

  • Classeur(2).xls
    25 KB · Affichages: 42
  • Classeur(2).xls
    25 KB · Affichages: 50
  • Classeur(2).xls
    25 KB · Affichages: 52
Dernière édition:

piep14

XLDnaute Occasionnel
Re : Déplacer des caractères

re,

modification pour prendre en compte "Les":
=DROITE(SUBSTITUE(A1;")"; );NBCAR(A1)-CHERCHE("(";A1)-1) & " "& GAUCHE(A1;CHERCHE("(";A1)-1)

A+

Edit: il faut que je modifie encore, si la cellule ne comporte pas de (Le) (La) ou (Les) on a #VALEUR!


Re edit :
Cette fois, ça doit être bon:
=SI(ESTERR(CHERCHE("(";A1));A1;DROITE(SUBSTITUE(A1;")"; );NBCAR(A1)-CHERCHE("(";A1)-1) & " "& GAUCHE(A1;CHERCHE("(";A1)-1))

A re +

Il reste un détail, et c'est parfait, pour le L', ca fait un espace après, et forcément, c'est un cas où il ne faut pas
 

job75

XLDnaute Barbatruc
Re : Déplacer des caractères

Re, salut Jean-Marie et David,

Ah oui, pour le L' (apostrophe) :

Code:
=SI(ESTNUM(TROUVE("(";A2));STXT(A2;TROUVE("(";A2)+1;NBCAR(A2)-TROUVE("(";A2)-1)&REPT(" ";DROITE(A2;2)<>"')")&GAUCHE(A2;TROUVE("(";A2)-2);T(A2))
Fichier (3).

A+
 

Pièces jointes

  • Classeur(3).xls
    25.5 KB · Affichages: 61
  • Classeur(3).xls
    25.5 KB · Affichages: 58
  • Classeur(3).xls
    25.5 KB · Affichages: 62

Discussions similaires

Réponses
6
Affichages
497
Réponses
3
Affichages
378

Statistiques des forums

Discussions
312 479
Messages
2 088 744
Membres
103 944
dernier inscrit
Stbj