Copier les parties d'une cellule vers de nouvelles colonnes.

Zad

XLDnaute Nouveau
[Résolu] Copier les parties d'une cellule vers de nouvelles colonnes.

Bonjour,

J'ai des cellules qui contiennent plusieurs éléments que je souhaite différencier.

les cellules se présentent ainsi :

[Test1]
blablabla.
blabla.

[Test2]
blablabla.
blabla.

[Test3]
blablabla.
blabla.


Je voudrais que chacune de ces 3 parties (qui sont dans la même cellule) soient copiées vers une cellule distincte (genre B1, C1 et D1).


Je ne sais vraiment pas par où commencer. quelqu'un peut aider ? Peut-être que si on recherche le crochet de début et le point de fin de phrase on peut y arriver. mais certains phrases ont plusieurs points :mad:

Merci d'avance pour vos conseils. :)
 
Dernière édition:

Zad

XLDnaute Nouveau
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

En fait il faudrait sélectionner tout le texte présent entre le premier [ et juste avant le [ suivant et ainsi de suite. Mais je ne sais pas si Excel sait faire des recherches avec caractères génériques ...
 

Modeste

XLDnaute Barbatruc
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

Bonjour Zad,

Une première piste: si la première partie de texte est toujours encadrée de ']':
Code:
=GAUCHE(A5;TROUVE("]";A5))
(adapter A5 à la situation)

Pour le reste, difficile de répondre: qu'est-ce qui sera considéré comme "séparateur" ? Le point ... ou y a-t-il un caractère qui provoque un "retour à la ligne" dans la cellule ?
 

Zad

XLDnaute Nouveau
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

Salut Modeste, merci pour ton aide.

On ne peut pas prendre le point comme séparateur car il y a plusieurs points dans chaque partie.

Par contre chaque partie est délimitée par un "en-tete" encadré par des crochets.

Donc il faudrait rechercher un intervalle du type [n'importequoi[

Dans Word on peut jouer avec les caractères génériques mais dans Excel je ne trouve pas d'équivalent ...
 

Modeste

XLDnaute Barbatruc
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

re-bonjour,

Par contre chaque partie est délimitée par un "en-tete" encadré par des crochets.
Donc il faudrait rechercher un intervalle du type [n'importequoi[
... et si tu nous déposais un petit exemple dans un fichier ... ça pourrait simplifier la tâche de ceux et celles qui seraient disposé(e)s à te consacrer un peu de temps ?
 

ROGER2327

XLDnaute Barbatruc
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

Bonjour à tous
Les résultats attendus sont un peu étonnants, mais je tente une réponse presque conforme à l'attente...​
ROGER2327
#3663


Lundi 23 Merdre 137 (Interprétation de l'humour, ST)
21 Prairial An CCXVIII
2010-W23-3T14:48:54Z
 

Pièces jointes

  • copier_cellule_vers_colonnes_3663.zip
    10.1 KB · Affichages: 29
Dernière édition:

Zad

XLDnaute Nouveau
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

salut ROGER2327,

Ta formule est parfaite. J'ignorais totalement l'existence de la fonction découpe et découpe2. d'ailleurs je n'en comprends toujours pas la logique, mais ça marche !

Merci beaucoup et bonne soirée :)
 

ROGER2327

XLDnaute Barbatruc
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

Re...
Les formules en question ne sont pas des formules intégrées, ce sont des formules personnalisées que j'ai écrites spécifiquement pour traiter votre problème. Elles sont dans le module Module1 :
Code:
[COLOR="DarkSlateGray"][B]Function découpe2(r$)
   r = r & String(10, 4)
   découpe2 = Split(IIf(Asc(r) = 91, "[", "") & Replace(r, "[", Chr(4) & "[", IIf(Asc(r) = 91, 2, 1)), Chr(4))
End Function

Function découpe(r$, i&)
   découpe = découpe2(r$)(i - 1)
End Function[/B][/COLOR]

Si leur interprétation vous pose un problème, j'essaierai d'apporter des éclaircissements.
ROGER2327
#3666


Lundi 23 Merdre 137 (Interprétation de l'humour, ST)
21 Prairial An CCXVIII
2010-W23-3T15:35:08Z
 
Dernière édition:

david84

XLDnaute Barbatruc
Re : Copier les parties d'une cellule vers de nouvelles colonnes.

Bonjour à tous,
à tester en B1 : =STXT($A1&"[";CHERCHE(CAR(255);SUBSTITUE($A1&"[";"[";CAR(255);COLONNE()-1);1);CHERCHE(CAR(255);SUBSTITUE($A1&"[";"[";CAR(255);COLONNE());COLONNE()-1)-CHERCHE(CAR(255);SUBSTITUE($A1&"[";"[";CAR(255);COLONNE()-1);1))
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet