Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

naja

XLDnaute Nouveau
Bonjour à tous. je tiens à précisé que cette discussion ne vas pas dans le même sens que celle que javais ouverte précédemment, notez svp la différence majeur qui est: Éclater le contenu d'une cellule contenant plusieurs ligne en 7 cellule plutôt qu'éclaté le contenu dune cellule contenant une seul ligne en 7 cellule qui étai ce que je demandais dans la précédente discussions.
Merci de regarder le fichier joint (exemple).
Merci à tous de bien vouloir m'aidez.
 

Pièces jointes

  • Cellule contenan plusieurs ligne.xlsx
    11.4 KB · Affichages: 42
  • Cellule contenan plusieurs ligne.xlsx
    11.4 KB · Affichages: 45
  • Cellule contenan plusieurs ligne.xlsx
    11.4 KB · Affichages: 44

laetitia90

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

bonjour naja

je sais faire par macro si cela peut aider:)

Code:
Sub es()
 Application.DisplayAlerts = 0: Application.ScreenUpdating = 0
 Range("a10" & ":a" & Cells(Rows.Count, 1).End(3).Row).Select
 Selection.TextToColumns Destination:=Range("b10"), DataType:=xlDelimited, _
 Other:=True, OtherChar:="-", FieldInfo:=Array(Array(1, 1)), TrailingMinusNumbers:=True
End Sub
 

naja

XLDnaute Nouveau
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Merci. Mais je ne sais pas faire de macro et en plus mon fichier contient aussi des cellule contenant une seul ligne que jai éclaté avec plusieur formule excel, donc je ne sais vraiment pas si une macro peut m'aider. en tout cas merci beaucoup. si vous pouvez m'aider aussi avec des formules excel n'hésitez pas. merci
 

job75

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Bonjour naja, Laetitia, Jean-Marcel,

Une solution qui utilise la fonction macro Excel 4.0 EVALUER pour définir le nom matrice :

Code:
=EVALUER("{"""&SUBSTITUE(SUBSTITUE(Feuil2!$A$1;"-";""".""");CAR(10);""";""")&"""}")
Il faut que les séparateurs "-" et CAR(10) en A1 permettent bien de créer une matrice 7 x 3.

Après il est facile de restituer cette matrice sur la plage B1:H3.

Fichier joint.

A+
 

Pièces jointes

  • Cellule contenant plusieurs lignes(1).xls
    38.5 KB · Affichages: 31

job75

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Re,

L'inconvénient c'est qu'il faut définir un nom pour chaque cellule à traiter.

Je ne vois pas comment faire autrement.

Fichier (2).

Edit : salut R@chid, pas rafraîchi, nous utilisons tous les deux EVALUER :)

A+
 

Pièces jointes

  • Cellule contenant plusieurs lignes(2).xls
    40 KB · Affichages: 29
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Bonsoir @ tous,
Re,

L'inconvénient c'est qu'il faut définir un nom pour chaque cellule à traiter.

Je ne vois pas comment faire autrement.

Fichier (2).

Edit : salut R@chid, pas rafraîchi, nous utilisons tous les deux EVALUER :)

A+
Salut Job75, ravis de te croiser :)

Voir PJ

@ + +
 

Pièces jointes

  • Inconvenient.xlsm
    15.4 KB · Affichages: 30

job75

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Re,

J'ai finalement trouvé comment définir un seul nom matrice pour toutes les cellules :

Code:
=EVALUER("{"""&SUBSTITUE(SUBSTITUE(DECALER(Feuil2!$A$1;EQUIV("zzz";Feuil2!$A$1:$A1)-1;);"-";""".""");CAR(10);""";""")&"""}")
Fichier (3).

Edit : ah mais R@chid va plus vite que moi !!!

A+
 

Pièces jointes

  • Cellule contenant plusieurs lignes(3).xls
    41.5 KB · Affichages: 28

R@chid

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Re,
Re,

J'ai finalement trouvé comment définir un seul nom matrice pour toutes les cellules :

Code:
=EVALUER("{"""&SUBSTITUE(SUBSTITUE(DECALER(Feuil2!$A$1;EQUIV("zzz";Feuil2!$A$1:$A1)-1;);"-";""".""");CAR(10);""";""")&"""}")
Fichier (3).

Edit : ah mais R@chid va plus vite que moi !!!

A+
Je ne voie pas que c’était la demande de naja, peut-être qu'il veut faire une concaténation de trois éléments dans la même cellule comme sur mon fichier..

J'ai défini le champ Matrice autrement,
Code:
=EVALUER("{"""&SUBSTITUE(SUBSTITUE(DECALER(Feuil2!$A$1;ENT((LIGNE()-1)/4)*4;);"-";""".""");CAR(10);""";""")&"""}")

;):rolleyes:

@ + +
 

job75

XLDnaute Barbatruc
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Bonjour le fil, le forum,

Je ne voie pas que c’était la demande de naja

Tu as raison R@chid mais ma solution fonctionne quel que soit le nombre de lignes ou colonnes de la matrice.

On peut toujours concaténer les éléments de la matrice obtenue mais alors il vaut mieux du VBA :

Code:
Function MATCONCAT$(mat, sep$)
'mat doit être un vecteur ligne ou colonne
On Error Resume Next
mat = Application.Transpose(mat)
MATCONCAT = Join(mat, sep)
If MATCONCAT = "" Then MATCONCAT = Join(Application.Transpose(mat), sep)
End Function
Voir le fichier (4) joint avec les concaténations en 1ère ligne.

Edit : j'ai mis aussi en B3 une meilleure formule :

Code:
=INDEX(matrice;LIGNE()-EQUIV("zzz";$A$1:$A3)+1;COLONNES($B:B))
A+
 

Pièces jointes

  • Cellule contenant plusieurs lignes(4).xls
    49.5 KB · Affichages: 27
Dernière édition:

naja

XLDnaute Nouveau
Re : Éclatement d'une cellule contenant plusieurs ligne en 7 cellule.

Bonjour à tous. Bonjour à vous R@chid. je tiens déja à vous dire merci. mais cependant je n'arrive pas à appliquer ce que vs avez fait, pouvez vous me détailler le cheminement svp? merci.
Merci à job75 aussi. mais je m y connais pas en macro, d'ou l'utilité des formules pour moi. Merci de bien vouloir m'aider dans se sens si possible
 

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 137
Membres
104 045
dernier inscrit
Megajoules