Extraction de chaine en colonne

Le
Sylian
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne
différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la
première ligne (CYP2, CYPKKK, GPX2) car les suivantes dans la même
cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié
et en plus ça les mets en ligne et non pas en colonne. HELP !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Tatanka
Le #5443471
Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes dans
la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non pas en
colonne. HELP !


Tatanka
Le #5443451
Toujours en supposant que tes données sont en A1,
cette macro te permettra d'extraire tes données
sur une colonne à partir de la cellule active.
Un exemple à cette adresse :
http://cjoint.com/?emmNJQd5gy

Sub Extraire()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
i = ActiveCell.Row - 1
j = ActiveCell.Column
For k = 0 To UBound(ts)
i = i + 1
Cells(i, j) = ts(k)
Next k
End Sub

Serge


"Tatanka"
Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes dans
la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non pas en
colonne. HELP !






Sylian
Le #5443431
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais
Merci beaucoup ! Quand j'ai essayé ça fonctionne mais ça me rajoute
une ligne vide entre les données de la 1ère ligne et la seconde. Mais
bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes dans
la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non pas en
colonne. HELP !






Tatanka
Le #5443401
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne mais ça
me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes dans
la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non pas en
colonne. HELP !







Tatanka
Le #5443381
Si tu ne veux pas enlever les virgules avant les sauts de ligne,
remplace :
t = Replace([a1], Chr(10), ",")
par :
t = Replace([a1], "," & Chr(10), ",")

Serge


"Tatanka"
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne mais ça
me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes
dans la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non pas
en colonne. HELP !










Sylian
Le #5443341
Excellent ! Je n'ai que mes valeurs maintenant ta formule marche à
merveille ! Merci !

Oserai-je abuser ?
Comme j'ai plein de cellule dans ce cas qu'il faut que j'explose en
colonne (grace à ta formule), j'ai remplacé [a1] par Selection afin que
la macro traite la cellule que j'ai sélectionner. Maintenant j'aimerai
que cette même macro me demande où je veux mettre mon résultat (choisir
une cellule dans laquelle il commence puis il continue l'extraction en
dessous). C'est jouable ?

Perso je galère entre les refedit d'un userforme ou un truc comme :
Set madestination = Application.InputBox("Selectionnez", "Cellule", , ,
, , , 8) ... Enfin je ne sais pas comment intégrer et utiliser tout ça !

Merci mille fois d'avance !


Si tu ne veux pas enlever les virgules avant les sauts de ligne,
remplace :
t = Replace([a1], Chr(10), ",")
par :
t = Replace([a1], "," & Chr(10), ",")

Serge


"Tatanka"
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne mais ça
me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes
dans la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non pas
en colonne. HELP !












Tatanka
Le #5443311
Essaie ceci :

Sub Extraire()
For Each c In Selection
Set ici = Application.InputBox(Prompt:="Sélectionnez une cellule", Type:=8)
t = Replace(c, Chr(10), ",")
ts = Split(t, ",")
i = ici.Row - 1
j = ici.Column
For k = 0 To UBound(ts)
i = i + 1
Cells(i, j) = ts(k)
Next k
Next c
End Sub

Ça te convient ?

Serge


"Sylian"
Excellent ! Je n'ai que mes valeurs maintenant ta formule marche à merveille ! Merci !

Oserai-je abuser ?
Comme j'ai plein de cellule dans ce cas qu'il faut que j'explose en colonne (grace à ta formule), j'ai remplacé [a1] par Selection
afin que la macro traite la cellule que j'ai sélectionner. Maintenant j'aimerai que cette même macro me demande où je veux mettre
mon résultat (choisir une cellule dans laquelle il commence puis il continue l'extraction en dessous). C'est jouable ?

Perso je galère entre les refedit d'un userforme ou un truc comme :
Set madestination = Application.InputBox("Selectionnez", "Cellule", , , , , , 8) ... Enfin je ne sais pas comment intégrer et
utiliser tout ça !

Merci mille fois d'avance !


Si tu ne veux pas enlever les virgules avant les sauts de ligne,
remplace :
t = Replace([a1], Chr(10), ",")
par :
t = Replace([a1], "," & Chr(10), ",")

Serge


"Tatanka"
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne mais
ça me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style
:

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes
dans la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non
pas en colonne. HELP !













Sylian
Le #5443281
J'ai remplacé t = Replace(c, Chr(10), ",") par t = Replace(c,, "," &
Chr(10), ",") comme tu me l'avais conseillé avant et ... c'est GENIAL !

Mille merci Serge, je ne t'embête plus !
Ce Forum de discutions est vraiment magique.

---------------------------------------------------------

Essaie ceci :

Sub Extraire()
For Each c In Selection
Set ici = Application.InputBox(Prompt:="Sélectionnez une cellule", Type:=8)
t = Replace(c, Chr(10), ",")
ts = Split(t, ",")
i = ici.Row - 1
j = ici.Column
For k = 0 To UBound(ts)
i = i + 1
Cells(i, j) = ts(k)
Next k
Next c
End Sub

Ça te convient ?

Serge


"Sylian"
Excellent ! Je n'ai que mes valeurs maintenant ta formule marche à merveille ! Merci !

Oserai-je abuser ?
Comme j'ai plein de cellule dans ce cas qu'il faut que j'explose en colonne (grace à ta formule), j'ai remplacé [a1] par Selection
afin que la macro traite la cellule que j'ai sélectionner. Maintenant j'aimerai que cette même macro me demande où je veux mettre
mon résultat (choisir une cellule dans laquelle il commence puis il continue l'extraction en dessous). C'est jouable ?

Perso je galère entre les refedit d'un userforme ou un truc comme :
Set madestination = Application.InputBox("Selectionnez", "Cellule", , , , , , 8) ... Enfin je ne sais pas comment intégrer et
utiliser tout ça !

Merci mille fois d'avance !


Si tu ne veux pas enlever les virgules avant les sauts de ligne,
remplace :
t = Replace([a1], Chr(10), ",")
par :
t = Replace([a1], "," & Chr(10), ",")

Serge


"Tatanka"
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne mais
ça me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction) style
:

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes
dans la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non
pas en colonne. HELP !















Tatanka
Le #5443231
Salut Sylvian,

M'est avis que tu vas préférer cette version :

Sub Extraire()
Dim c As Range, ici As Range
Dim t$
Dim i%, j%, k%, s%
On Error GoTo FIN
Set ici = Application.InputBox(Prompt:="Sélectionnez une cellule.", Type:=8)
i = ici.Row - 1
j = ici.Column
s = s + i
For Each c In Selection
t = Replace(c, "," & Chr(10), ",")
ts = Split(t, ",")
For k = 0 To UBound(ts)
s = s + 1
Cells(s, j) = ts(k)
Next k
Next c
FIN:
End Sub

Serge


"Sylian"
J'ai remplacé t = Replace(c, Chr(10), ",") par t = Replace(c,, "," & Chr(10), ",") comme tu me l'avais conseillé avant et ...
c'est GENIAL !

Mille merci Serge, je ne t'embête plus !
Ce Forum de discutions est vraiment magique.

---------------------------------------------------------

Essaie ceci :

Sub Extraire()
For Each c In Selection
Set ici = Application.InputBox(Prompt:="Sélectionnez une cellule", Type:=8)
t = Replace(c, Chr(10), ",")
ts = Split(t, ",")
i = ici.Row - 1
j = ici.Column
For k = 0 To UBound(ts)
i = i + 1
Cells(i, j) = ts(k)
Next k
Next c
End Sub

Ça te convient ?

Serge


"Sylian"
Excellent ! Je n'ai que mes valeurs maintenant ta formule marche à merveille ! Merci !

Oserai-je abuser ?
Comme j'ai plein de cellule dans ce cas qu'il faut que j'explose en colonne (grace à ta formule), j'ai remplacé [a1] par
Selection afin que la macro traite la cellule que j'ai sélectionner. Maintenant j'aimerai que cette même macro me demande où je
veux mettre mon résultat (choisir une cellule dans laquelle il commence puis il continue l'extraction en dessous). C'est jouable
?

Perso je galère entre les refedit d'un userforme ou un truc comme :
Set madestination = Application.InputBox("Selectionnez", "Cellule", , , , , , 8) ... Enfin je ne sais pas comment intégrer et
utiliser tout ça !

Merci mille fois d'avance !


Si tu ne veux pas enlever les virgules avant les sauts de ligne,
remplace :
t = Replace([a1], Chr(10), ",")
par :
t = Replace([a1], "," & Chr(10), ",")

Serge


"Tatanka"
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne
mais ça me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction)
style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes
dans la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non
pas en colonne. HELP !

















Sylian
Le #5443151
En effet cette version est encore plus clair et plus détaillée. Encore
merci pour ton aide, ton temps et ta patience

Salut Sylvian,

M'est avis que tu vas préférer cette version :

Sub Extraire()
Dim c As Range, ici As Range
Dim t$
Dim i%, j%, k%, s%
On Error GoTo FIN
Set ici = Application.InputBox(Prompt:="Sélectionnez une cellule.", Type:=8)
i = ici.Row - 1
j = ici.Column
s = s + i
For Each c In Selection
t = Replace(c, "," & Chr(10), ",")
ts = Split(t, ",")
For k = 0 To UBound(ts)
s = s + 1
Cells(s, j) = ts(k)
Next k
Next c
FIN:
End Sub

Serge


"Sylian"
J'ai remplacé t = Replace(c, Chr(10), ",") par t = Replace(c,, "," & Chr(10), ",") comme tu me l'avais conseillé avant et ...
c'est GENIAL !

Mille merci Serge, je ne t'embête plus !
Ce Forum de discutions est vraiment magique.

---------------------------------------------------------

Essaie ceci :

Sub Extraire()
For Each c In Selection
Set ici = Application.InputBox(Prompt:="Sélectionnez une cellule", Type:=8)
t = Replace(c, Chr(10), ",")
ts = Split(t, ",")
i = ici.Row - 1
j = ici.Column
For k = 0 To UBound(ts)
i = i + 1
Cells(i, j) = ts(k)
Next k
Next c
End Sub

Ça te convient ?

Serge


"Sylian"
Excellent ! Je n'ai que mes valeurs maintenant ta formule marche à merveille ! Merci !

Oserai-je abuser ?
Comme j'ai plein de cellule dans ce cas qu'il faut que j'explose en colonne (grace à ta formule), j'ai remplacé [a1] par
Selection afin que la macro traite la cellule que j'ai sélectionner. Maintenant j'aimerai que cette même macro me demande où je
veux mettre mon résultat (choisir une cellule dans laquelle il commence puis il continue l'extraction en dessous). C'est jouable
?

Perso je galère entre les refedit d'un userforme ou un truc comme :
Set madestination = Application.InputBox("Selectionnez", "Cellule", , , , , , 8) ... Enfin je ne sais pas comment intégrer et
utiliser tout ça !

Merci mille fois d'avance !


Si tu ne veux pas enlever les virgules avant les sauts de ligne,
remplace :
t = Replace([a1], Chr(10), ",")
par :
t = Replace([a1], "," & Chr(10), ",")

Serge


"Tatanka"
C'est probablement qu'il y a une virgule juste avant tes sauts de ligne.
Si tu enlèves les virgules à la fin de chaque ligne, ça devrait aller.

Serge

"Sylian"
C'est extra comme petite formule ! Je n'y comprends pas grand chose mais Merci beaucoup ! Quand j'ai essayé ça fonctionne
mais ça me rajoute une ligne vide entre les données de la 1ère ligne et la seconde. Mais bon ...

En tout cas merci beaucoup pour l'aide !



Salut Sylian,

Supposons que la cellule A1 contient des données
séparées par des virgules et des retours à la ligne.
Si tu veux extraire chaque donnée dans la colonne B
à partir de la ligne 2, essaie cette macro :

Sub Extraire_En_Colonnes()
t = Replace([a1], Chr(10), ",")
ts = Split(t, ",")
k = 1
For i = 0 To UBound(ts)
k = k + 1
Cells(k, 2) = ts(i)
Next i
End Sub

Serge

"Sylian"
Bonjour et merci d'avance pour votre aide.



Je possède plusieurs valeurs dans une seule cellule.

exemple dans une cellule : CYP2, CYPKKK, GPX2,
CYP34a, SULT3A7

Je voudrais les extraire en colonne avec chaque texte sur une ligne différente et sans les virgules(créer une fonction)
style :

CYP2
CYPKKKK
GPX2
CYP34a
SULT3A7

J'ai essayé "Données / Convertir" mais cette fonction ne prend que la première ligne (CYP2, CYPKKK, GPX2) car les suivantes
dans la même cellule ont un retour à la ligne. :( Bref, ca fonctionne qu'à moitié et en plus ça les mets en ligne et non
pas en colonne. HELP !




















Publicité
Poster une réponse
Anonyme