"Convertir" à partir de 4 caractères

cephalotus

XLDnaute Occasionnel
Bonjour le forum,

Dans la feuille Excel (2007)de mon fichier, j'ai une colonne "I" dans laquelle se trouvent des informations.
A l'aide d'une formule, je souhaiterai pouvoir séparer ces informations.

Dans Excel 2007, il y a bien un outil qui le fait (Données>Convertir>Délimité), mais cela n"'est possible que pour un seul caractère.

Dans mon cas, je souhaiterai "convertir" mais à partir de la chaine de caractère suivante: <xx>

Merci pour vos réponses rapides.
 

JCGL

XLDnaute Barbatruc
Re : "Convertir" à partir de 4 caractères

Bonjour à tous,

Tu as toujours <xx> comme caractères pour délimiter tes données ?
C'est à dire un < plus trois caractères dont un > en dernier dans la séquence

A+ à tous
 

cephalotus

XLDnaute Occasionnel
Re : "Convertir" à partir de 4 caractères

Bonjour JCGL,

oui, dans chaque cellule de ma colonne, j'ai plusieurs fois cette chaine de caractères <xx>

A chaque caractères <xx> je souhaite renvoyer dans la case suivante se qui se trouve après.

J'espère avoir été clair..

Merci pour ta réponse.
 

Tibo

XLDnaute Barbatruc
Re : "Convertir" à partir de 4 caractères

Bonjour Cephalotus, salut Jean-Claude,

Un fichier nous aurait bien aidé pour bien comprendre ton problème.

Du coup, une proposition sur la base de ce j'ai deviné :

Ta chaîne en A1

En B1 :

Code:
=GAUCHE($A1;TROUVE("<xx>";$A1)-1)

En C1 :

Code:
=STXT($A1;TROUVE("µµµµ";SUBSTITUE(SUBSTITUE($A1&"<xx>";"<xx>";"µµµµ";[B][COLOR=red]1[/COLOR][/B]);
"<xx>";"¤¤¤¤";[B][COLOR=red]1[/COLOR][/B]))+4;TROUVE("¤¤¤¤";SUBSTITUE(SUBSTITUE($A1&"<xx>";"<xx>";
"µµµµ";[COLOR=red][B]1[/B][/COLOR]);"<xx>";"¤¤¤¤";[COLOR=red][B]1[/B][/COLOR]))-TROUVE("µµµµ";SUBSTITUE(SUBSTITUE($A1&"<xx>";"<xx>";
"µµµµ";[B][COLOR=red]1[/COLOR][/B]);"<xx>";"¤¤¤¤";[COLOR=red][B]1[/B][/COLOR]))-4)

En D1, même formule en remplaçant les 1 par des 2 puis par des 3 en E1, etc.

Si pas ça, il nous faudra un extrait de ton fichier

A te (re)lire

@+
 

JCGL

XLDnaute Barbatruc
Re : "Convertir" à partir de 4 caractères

Bonjour à tous,

Peux-tu joindre un bout de fichier anonymisé, zippé (tu peux en mettre plus) et au format XL 2003. Avec le maximum de cas de figure
Cela évite d'avoir à le faire

A+ à tous
 

cephalotus

XLDnaute Occasionnel
Re : "Convertir" à partir de 4 caractères

Bonsoir Tibo,

Je vous ai fait un exemple de ce que j'ai au départ, et ce que je souhaite en résultat après la conversion.

Excel 2007 le fait, mais qu'à partir d'un seul caractère..!

Merci pour vos réponses.
 

Pièces jointes

  • Classeur1 - exemple.zip
    6.9 KB · Affichages: 30

hoerwind

XLDnaute Barbatruc
Re : "Convertir" à partir de 4 caractères

Bonsoir,

Je ne vois où est le problème.

Convertir la chaîne de caractères (colonne A) sur base de Autre → <
Convertir la colonne B sur base de Autre → >
Dans la colonne B il reste xx (sans les <>)
Ou bien on supprime les xx si on n'en a pas besoin, ou bien par un rechercher remplacer on modifie xx en <xx>

Édition :
Je n'avais pas vu ton fichier joint, donc je ne pouvais supposer qu'il y avait plusieurs <xx> par chaîne de caractères.
Entre la première et la deuxième étape il faut créer une colonne supplémentaire à la droite de chaque nouvelle chaîne déconcaténée, avant de convertir à nouveau, puis supprimer les colonnes contenant les xx.
Il reste le problème des espaces superflus.
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : "Convertir" à partir de 4 caractères

Bonjour à tous,
Salut Tibo :),

Avec la formule de Tibo ;) et sans modifier le chiffre
Une petite MeFC pour éviter les #VALEURS (la belle formule est déjà assez longue

A++ :)
A+ à tous
 

Pièces jointes

  • Separe sur Chaine definie Tibo.zip
    1.7 KB · Affichages: 33

Tibo

XLDnaute Barbatruc
Re : "Convertir" à partir de 4 caractères

re,

As-tu testé les formules que je t'ai proposé ?

Les revoila, légèrement adaptées par rapport au numéro de ligne :

en B2 :

Code:
=GAUCHE($A2;TROUVE("<xx>";$A2)-1)

en C2 :

Code:
=STXT($A2;TROUVE("µµµµ";SUBSTITUE(SUBSTITUE($A2&"<xx>";"<xx>";
"µµµµ";COLONNE()-2);"<xx>";"¤¤¤¤";1))+4;TROUVE("¤¤¤¤";SUBSTITUE(SUBSTITUE($A2&
"<xx>";"<xx>";"µµµµ";COLONNE()-2);"<xx>";"¤¤¤¤";COLONNE()-2))-TROUVE("µµµµ";
SUBSTITUE(SUBSTITUE($A2&"<xx>";"<xx>";"µµµµ";COLONNE()-2);"<xx>";
"¤¤¤¤";COLONNE()-2))-4)

à recopier vers la droite.

Lorsqu'il n'y a plus rien à trouver, la formule retourne un message d'erreur, message qu'on peut masquer par une Mise en Forme Conditionnelle ou par un test du type : =SI(ESTERREUR(la_formule);"";la_formule)

Encore que, sur ce dernier point, il y a sur Excel 2007, me semble-t-il, de nouvelles fonctions de gestion d'erreurs.

Essaye et dis nous

@+

Edit : Oups, pas vu que tu étais repassé avec le travail tout fait.

Bonne soirée

@+
 

Discussions similaires

Réponses
16
Affichages
682

Statistiques des forums

Discussions
312 510
Messages
2 089 151
Membres
104 053
dernier inscrit
ftexfr