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

  • Initiateur de la discussion Initiateur de la discussion naja
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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
 
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

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

Dernière édition:
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

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

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);""";""")&"""}")

😉🙄

@ + +
 
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

Dernière édition:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour