Répartir une cellule excel sur plusieurs lignes

Résolu
ecga Messages postés 61 Statut Membre -  
ecga Messages postés 61 Statut Membre -
Bonsoir,
je cherche répartir une cellule excel sur plusieurs lignes et non sur plusieurs colonnes comme le fait excel avec la touche convertir.
Par exemple j'ai:
Matière Active A 1;5;8;9
Matière Active B 2;5;8;7
et je voudrais avoir:
Matière Active A 1
Matière Active A 5
Matière Active A 8
Matière Active A 9
Matière Active B 2
Matière Active B 5
Matière Active B 8
Matière Active B 7

Avez vous une solution pour faire cela?

D'avance merci,
Ecga

7 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

un exemple en VBA à adapter

texte originaux colonne A restitution en colonne D
https://www.cjoint.com/?3AzkNEp5FGU
le code
Option Explicit
Dim T_out()
'---------
Sub convertir(cellule, restitue)
Dim transfo As String, T_in, Cptr As Byte, Titre As String, nbre As Byte
transfo = Replace(cellule, ";", " ")
T_in = Split(transfo, " ")
For Cptr = 0 To 2
Titre = Titre & " " & T_in(Cptr)
Next
nbre = UBound(T_in) - 2
ReDim T_out(nbre)
For Cptr = 0 To nbre - 1
T_out(Cptr) = Titre & " " & T_in(Cptr + 3)
Next
restitue.Resize(nbre) = Application.Transpose(T_out)
End Sub
'----------
Sub transformer()
Dim derlig As Integer, lig As Integer, ligne As Integer
derlig = Columns("A").Find("*", , , , , xlPrevious).Row
For lig = 1 To derlig
ligne = Columns("D").Find("", Range("D" & Cells.Rows.Count)).Row
convertir Cells(lig, "A"), Cells(ligne, "D")
Next
End Sub

Michel
0
ecga Messages postés 61 Statut Membre 6
 
Merci beaucoup pour le temps que vous m'avez consacré.
Je ne comprend rien du tout aux macros (et c'est pas faute d'écouter le professeur d'info).
Je vous joint un exemple de mes fichiers de données pouvez vous m'expliquer comment je doit faire avec ça pour que ça marche aussi bien que dans votre exemple?
le fichier que j'ai aujourd'hui:
https://www.cjoint.com/?3AzkSDU4F4t
Le type de fichier que j'aimerais obtenir:
https://www.cjoint.com/?3AzkZk5ZIYJ
D'avance merci pour le temps que vous consacrez à m'aider
Ecga
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Ce n'est pas le m^me problème et n'étant pas taillable et corvéable à merci, je ne vais recommencer N fois à passer du temps pour rien

0
ecga Messages postés 61 Statut Membre 6
 
A foo: merci beaucoup pour votre aide c'est exactement ce que je cherchais.
Je vais me pencher sur la macro pour essayer de comprendre le fonctionnement d'une macro.
A michel_m: je pense que je vous ai remercié et j'ai bien précisé que je demandais de l'aide si vous aviez du temps a me consacré pour m'aider. En plus j'aurais pu modifier mes tableaux pour regrouper les différentes cellules dans une seule pour que cela ce rapproche plus du premier exemple que j'ai donné. Je pense que le principe de ce forum est que chacun puisse aider les autres en fonction de ses connaissances et ses points forts. Je vous prie de m'excuser mais je ne comprend pas tout du premier coup. Pour finir sachez que j'utilise quand même la macro que vous m'avez indiquée pour une deuxième partie de mon travail.

Bonne fin de journée,
Ecga
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
foo
 
Bonjour

Avec la macro fini

http://cjoint.com/?3AAkXIzKe89

A+

Maurice
0
ecga Messages postés 61 Statut Membre 6
 
Merci beaucoup
Ecga
0
foo
 
Bonjour

Voila une macro Convert

http://cjoint.com/?3Azm7am3T5k

A+
Maurice
-1