Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Decouper le contenu d'une cellule en fonction d'un saut de ligne

5 réponses
Avatar
hedup
Bonjour,

J'ai le problème suivant que je voudrais automatiser.
J'ai plein de cellules qui contiennent des informations toutes séparées pas
un saut de ligne dans la cellule (Alt + enter).
Je voudrais "deconcatener" ces cellules en prenant le critères de saut de
ligne.
Ex: j'ai dans une cellule cell (i,j)="a b c d" (les blancs étant ici les
saut de lignes de la cellule), et je voudrais récupéré:
cell (i,j+1)="a"
cell (i,j+2)="b"
cell (i,j+3)="c"
cell (i,j+4)="d"

Si quelqu'un pouvait m'aider.
Merci d'avance

5 réponses

Avatar
JB
Bonjour,

Dans un module:

Function Decoupe(champ As Range)
temp = Split(champ, Chr(10))
Decoupe = Application.Transpose(temp)
End Function

Dans le tableur:

Sélectionner A2:A5

coupe(A1)
Valider avec Maj+Ctrl+Entrée

http://cjoint.com/?iFkTSE53xI

JB
http://boisgontierjacques.free.fr/

On 31 août, 10:36, hedup wrote:
Bonjour,

J'ai le problème suivant que je voudrais automatiser.
J'ai plein de cellules qui contiennent des informations toutes séparé es pas
un saut de ligne dans la cellule (Alt + enter).
Je voudrais "deconcatener" ces cellules en prenant le critères de saut de
ligne.
Ex: j'ai dans une cellule cell (i,j)="a b c d" (les blancs étant ici les
saut de lignes de la cellule), et je voudrais récupéré:
cell (i,j+1)="a"
cell (i,j+2)="b"
cell (i,j+3)="c"
cell (i,j+4)="d"

Si quelqu'un pouvait m'aider.
Merci d'avance


Avatar
hedup
Merci de la réponse,

Question (d'un non expert):
Où dois-je définir la fonction? Via une macro?

Merci
HD


Bonjour,

Dans un module:

Function Decoupe(champ As Range)
temp = Split(champ, Chr(10))
Decoupe = Application.Transpose(temp)
End Function

Dans le tableur:

Sélectionner A2:A5

Þcoupe(A1)
Valider avec Maj+Ctrl+Entrée

http://cjoint.com/?iFkTSE53xI

JB
http://boisgontierjacques.free.fr/

On 31 août, 10:36, hedup wrote:
Bonjour,

J'ai le problème suivant que je voudrais automatiser.
J'ai plein de cellules qui contiennent des informations toutes séparées pas
un saut de ligne dans la cellule (Alt + enter).
Je voudrais "deconcatener" ces cellules en prenant le critères de saut de
ligne.
Ex: j'ai dans une cellule cell (i,j)="a b c d" (les blancs étant ici les
saut de lignes de la cellule), et je voudrais récupéré:
cell (i,j+1)="a"
cell (i,j+2)="b"
cell (i,j+3)="c"
cell (i,j+4)="d"

Si quelqu'un pouvait m'aider.
Merci d'avance







Avatar
JB
Alt+F11
Insertion/module

JB

On 31 août, 11:22, hedup wrote:
Merci de la réponse,

Question (d'un non expert):
Où dois-je définir la fonction? Via une macro?

Merci
HD




Bonjour,

Dans un module:

Function Decoupe(champ As Range)
temp = Split(champ, Chr(10))
Decoupe = Application.Transpose(temp)
End Function

Dans le tableur:

Sélectionner A2:A5

coupe(A1)
Valider avec Maj+Ctrl+Entrée

http://cjoint.com/?iFkTSE53xI

JB
http://boisgontierjacques.free.fr/

On 31 août, 10:36, hedup wrote:
Bonjour,

J'ai le problème suivant que je voudrais automatiser.
J'ai plein de cellules qui contiennent des informations toutes sépa rées pas
un saut de ligne dans la cellule (Alt + enter).
Je voudrais "deconcatener" ces cellules en prenant le critères de s aut de
ligne.
Ex: j'ai dans une cellule cell (i,j)="a b c d" (les blancs étant ici les
saut de lignes de la cellule), et je voudrais récupéré:
cell (i,j+1)="a"
cell (i,j+2)="b"
cell (i,j+3)="c"
cell (i,j+4)="d"

Si quelqu'un pouvait m'aider.
Merci d'avance- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
JB
Variiante:

For Each c In Range("A1", [A65000].End(xlUp))
temp = Split(c, Chr(10))
c.Offset(0, 1).Resize(1, UBound(temp) + 1) = temp
Next c

http://cjoint.com/?iFomSvoFe6

JB

On 31 août, 11:22, hedup wrote:
Merci de la réponse,

Question (d'un non expert):
Où dois-je définir la fonction? Via une macro?

Merci
HD




Bonjour,

Dans un module:

Function Decoupe(champ As Range)
temp = Split(champ, Chr(10))
Decoupe = Application.Transpose(temp)
End Function

Dans le tableur:

Sélectionner A2:A5

coupe(A1)
Valider avec Maj+Ctrl+Entrée

http://cjoint.com/?iFkTSE53xI

JB
http://boisgontierjacques.free.fr/

On 31 août, 10:36, hedup wrote:
Bonjour,

J'ai le problème suivant que je voudrais automatiser.
J'ai plein de cellules qui contiennent des informations toutes sépa rées pas
un saut de ligne dans la cellule (Alt + enter).
Je voudrais "deconcatener" ces cellules en prenant le critères de s aut de
ligne.
Ex: j'ai dans une cellule cell (i,j)="a b c d" (les blancs étant ici les
saut de lignes de la cellule), et je voudrais récupéré:
cell (i,j+1)="a"
cell (i,j+2)="b"
cell (i,j+3)="c"
cell (i,j+4)="d"

Si quelqu'un pouvait m'aider.
Merci d'avance- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -




Avatar
hedup
Bonjour,

J'ai eu plus de mal avec la première solution.
Par contre, la variante est parfaite.
Merci beaucoup.

HD


Variiante:

For Each c In Range("A1", [A65000].End(xlUp))
temp = Split(c, Chr(10))
c.Offset(0, 1).Resize(1, UBound(temp) + 1) = temp
Next c

http://cjoint.com/?iFomSvoFe6

JB

On 31 août, 11:22, hedup wrote:
Merci de la réponse,

Question (d'un non expert):
Où dois-je définir la fonction? Via une macro?

Merci
HD




Bonjour,

Dans un module:

Function Decoupe(champ As Range)
temp = Split(champ, Chr(10))
Decoupe = Application.Transpose(temp)
End Function

Dans le tableur:

Sélectionner A2:A5

Þcoupe(A1)
Valider avec Maj+Ctrl+Entrée

http://cjoint.com/?iFkTSE53xI

JB
http://boisgontierjacques.free.fr/

On 31 août, 10:36, hedup wrote:
Bonjour,

J'ai le problème suivant que je voudrais automatiser.
J'ai plein de cellules qui contiennent des informations toutes séparées pas
un saut de ligne dans la cellule (Alt + enter).
Je voudrais "deconcatener" ces cellules en prenant le critères de saut de
ligne.
Ex: j'ai dans une cellule cell (i,j)="a b c d" (les blancs étant ici les
saut de lignes de la cellule), et je voudrais récupéré:
cell (i,j+1)="a"
cell (i,j+2)="b"
cell (i,j+3)="c"
cell (i,j+4)="d"

Si quelqu'un pouvait m'aider.
Merci d'avance- Masquer le texte des messages précédents -



- Afficher le texte des messages précédents -