OVH Cloud OVH Cloud

Découper du texte a l'aide d'une macro

27 réponses
Avatar
Perceval973
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le "textelettre" est
différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés par
"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les coller
dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval

10 réponses

1 2 3
Avatar
Pounet95
Re,Re
Si tes données ne sont pas confidentiellles ou si tu as un jeu d'essai
disponible,
peux-tu mettre une copie du fichier sur le site http://cjoint.com/
A priori cette cellule n'est pas formatée comme les autres. A vérifier


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5ce03$0$18833$
Autre fait "comique" dans l'une des cellules le texte avant le
"espace-tiret-espace" est de la forme "texte-espace-chiffre" et ta macro
fait la coupure avant les chiffres, qui du coup se retrouvent dans la
cellule B avec le "espace-tiret-espace"


"Pounet95" a écrit dans le message de
news:eMkrm$
Bonsoir,
Avant de tester recopie ta colonne B ailleurs, on ne sait jamais !
Essaie ceci :

Sub CoupeTexte()
Range("B4").Select
Do While ActiveCell <> ""
wTxt = ActiveCell.Value
wSepare = InStr(wTxt, " ")
wGauche = Left$(wTxt, wSepare - 1)
wDroite = Right$(wTxt, Len(wTxt) - wSepare - 2)
ActiveCell.Value = wGauche
ActiveCell.Offset(0, 1).Value = wDroite
ActiveCell.Offset(1, 0).Select
Loop
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5c3bd$0$18823$
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le "textelettre"
est


différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés par
"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les
coller


dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval











Avatar
Perceval973
Pas exactement. ce que je voulais, mais j'arrive a m'en débrouiller en
décallant les cellules avant de dérouler la macro.
En fait je veut séparer le contenu de la colonne B en mettant le début dans
la A et la fin reste dans la B

"Pounet95" a écrit dans le message de
news:
Re,
Ce n'est pas ce que tu voulais ?
La recopie de la colonne avant avait bien pour but de récupérer les
données

en cas d'incompréhension. On dirait que c'est la cas ou bien
c'est ta réponse que je pige mal ?

Pendant que j'y suis, je vois souvent ce terme LOL ou lol.
Quelle en est sa signification ?
Merci de tes réponses

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5cc0f$0$18834$
LOL

Alors, il a pris "Textenum" de la cellule B et a coupé tout ce qui etait
apres " - Textelettre" et il l'a recopié dans la cellule C "textelettre"
en
ecrasant le contenu de la cellule C

Donc je vois bien une alternative, qui serait de tout déplacer dans la
cellule A avant d'exécuter ta macro ;-)


"Pounet95" a écrit dans le message de
news:eMkrm$
Bonsoir,
Avant de tester recopie ta colonne B ailleurs, on ne sait jamais !
Essaie ceci :

Sub CoupeTexte()
Range("B4").Select
Do While ActiveCell <> ""
wTxt = ActiveCell.Value
wSepare = InStr(wTxt, " ")
wGauche = Left$(wTxt, wSepare - 1)
wDroite = Right$(wTxt, Len(wTxt) - wSepare - 2)
ActiveCell.Value = wGauche
ActiveCell.Offset(0, 1).Value = wDroite
ActiveCell.Offset(1, 0).Select
Loop
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5c3bd$0$18823$
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le "textelettre"
est


différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés
par




"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les
coller


dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval














Avatar
JpPradier
Ah mince, j'ai tout mélangé alors ? Vu mon anglais, c'est pas étonnant non plus ;-)

j-p
Avatar
Perceval973
Pas bien grave

"JpPradier" a écrit dans le message
de news:%
Ah mince, j'ai tout mélangé alors ? Vu mon anglais, c'est pas étonnant non
plus ;-)


j-p



Avatar
AV
Là :

http://cjoint.com/?mhrcAIMbmJ

AV
Avatar
Pounet95
Noté. Ce soir je m'endormirai moins bête car pour le prix d'une question,
j'ai eu deux réponses :
Lol ( 2 versions mais c'est le sens qui compte ) et mdr

A+

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5cf8d$0$18819$
LOL ca vient du temps ou l'internet etait tres anglophone ca veut dire
Laugh
Out Loud (Mort de Rire) J'ai gardé cette vieille habitude, désolé...

"Pounet95" a écrit dans le message de
news:
Re,
Ce n'est pas ce que tu voulais ?
La recopie de la colonne avant avait bien pour but de récupérer les
données

en cas d'incompréhension. On dirait que c'est la cas ou bien
c'est ta réponse que je pige mal ?

Pendant que j'y suis, je vois souvent ce terme LOL ou lol.
Quelle en est sa signification ?
Merci de tes réponses

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5cc0f$0$18834$
LOL

Alors, il a pris "Textenum" de la cellule B et a coupé tout ce qui
etait
apres " - Textelettre" et il l'a recopié dans la cellule C
"textelettre"
en
ecrasant le contenu de la cellule C

Donc je vois bien une alternative, qui serait de tout déplacer dans la
cellule A avant d'exécuter ta macro ;-)


"Pounet95" a écrit dans le message de
news:eMkrm$
Bonsoir,
Avant de tester recopie ta colonne B ailleurs, on ne sait jamais !
Essaie ceci :

Sub CoupeTexte()
Range("B4").Select
Do While ActiveCell <> ""
wTxt = ActiveCell.Value
wSepare = InStr(wTxt, " ")
wGauche = Left$(wTxt, wSepare - 1)
wDroite = Right$(wTxt, Len(wTxt) - wSepare - 2)
ActiveCell.Value = wGauche
ActiveCell.Offset(0, 1).Value = wDroite
ActiveCell.Offset(1, 0).Select
Loop
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5c3bd$0$18823$
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le
"textelettre"
est


différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés
par




"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les
coller


dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval


















Avatar
Perceval973
C'est pas confidentiel...

http://cjoint.com/?mhre5NpDgc

Merci pour ton aide

"Pounet95" a écrit dans le message de
news:
Re,Re
Si tes données ne sont pas confidentiellles ou si tu as un jeu d'essai
disponible,
peux-tu mettre une copie du fichier sur le site http://cjoint.com/
A priori cette cellule n'est pas formatée comme les autres. A vérifier


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5ce03$0$18833$
Autre fait "comique" dans l'une des cellules le texte avant le
"espace-tiret-espace" est de la forme "texte-espace-chiffre" et ta macro
fait la coupure avant les chiffres, qui du coup se retrouvent dans la
cellule B avec le "espace-tiret-espace"


"Pounet95" a écrit dans le message de
news:eMkrm$
Bonsoir,
Avant de tester recopie ta colonne B ailleurs, on ne sait jamais !
Essaie ceci :

Sub CoupeTexte()
Range("B4").Select
Do While ActiveCell <> ""
wTxt = ActiveCell.Value
wSepare = InStr(wTxt, " ")
wGauche = Left$(wTxt, wSepare - 1)
wDroite = Right$(wTxt, Len(wTxt) - wSepare - 2)
ActiveCell.Value = wGauche
ActiveCell.Offset(0, 1).Value = wDroite
ActiveCell.Offset(1, 0).Select
Loop
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5c3bd$0$18823$
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le "textelettre"
est


différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés
par




"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les
coller


dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval














Avatar
jps
tu aurais pu aussi dire : Lots Of Laughs, jean-pascal
jps

"JpPradier" a écrit dans le message
de news:e$
Bonjour Pounet95

Lol = Loud Of Laughing qui peut se trdauire par MDR = Mort De Rire
A peu près hein ! ;-))

j-p



Avatar
Pounet95
Re,
Eh ! il y a quand même des différences par rapport à l'énoncé du problème.
Dans la liste, il y a des valeurs avec 2 occurences du 'délimiteur"
espace/tiret/espace.
Dans ce cas, où s'effectue le découpage ? Sur la 1ère ? la deuxième ?
A mon avis, il n'y a pas de règle là mais plutôt du cas par cas.
A confirmer STP

Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5d43f$0$26621$
C'est pas confidentiel...

http://cjoint.com/?mhre5NpDgc

Merci pour ton aide

"Pounet95" a écrit dans le message de
news:
Re,Re
Si tes données ne sont pas confidentiellles ou si tu as un jeu d'essai
disponible,
peux-tu mettre une copie du fichier sur le site http://cjoint.com/
A priori cette cellule n'est pas formatée comme les autres. A vérifier


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5ce03$0$18833$
Autre fait "comique" dans l'une des cellules le texte avant le
"espace-tiret-espace" est de la forme "texte-espace-chiffre" et ta
macro
fait la coupure avant les chiffres, qui du coup se retrouvent dans la
cellule B avec le "espace-tiret-espace"


"Pounet95" a écrit dans le message de
news:eMkrm$
Bonsoir,
Avant de tester recopie ta colonne B ailleurs, on ne sait jamais !
Essaie ceci :

Sub CoupeTexte()
Range("B4").Select
Do While ActiveCell <> ""
wTxt = ActiveCell.Value
wSepare = InStr(wTxt, " ")
wGauche = Left$(wTxt, wSepare - 1)
wDroite = Right$(wTxt, Len(wTxt) - wSepare - 2)
ActiveCell.Value = wGauche
ActiveCell.Offset(0, 1).Value = wDroite
ActiveCell.Offset(1, 0).Select
Loop
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5c3bd$0$18823$
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le
"textelettre"
est


différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés
par




"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les
coller


dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval


















Avatar
Perceval973
Ben normalement c'est la 1ere

"Pounet95" a écrit dans le message de news:

Re,
Eh ! il y a quand même des différences par rapport à l'énoncé du problème.
Dans la liste, il y a des valeurs avec 2 occurences du 'délimiteur"
espace/tiret/espace.
Dans ce cas, où s'effectue le découpage ? Sur la 1ère ? la deuxième ?
A mon avis, il n'y a pas de règle là mais plutôt du cas par cas.
A confirmer STP

Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5d43f$0$26621$
C'est pas confidentiel...

http://cjoint.com/?mhre5NpDgc

Merci pour ton aide

"Pounet95" a écrit dans le message de
news:
Re,Re
Si tes données ne sont pas confidentiellles ou si tu as un jeu d'essai
disponible,
peux-tu mettre une copie du fichier sur le site http://cjoint.com/
A priori cette cellule n'est pas formatée comme les autres. A vérifier


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/

"Perceval973" a écrit dans le message de news:
41b5ce03$0$18833$
Autre fait "comique" dans l'une des cellules le texte avant le
"espace-tiret-espace" est de la forme "texte-espace-chiffre" et ta
macro
fait la coupure avant les chiffres, qui du coup se retrouvent dans la
cellule B avec le "espace-tiret-espace"


"Pounet95" a écrit dans le message de
news:eMkrm$
Bonsoir,
Avant de tester recopie ta colonne B ailleurs, on ne sait jamais !
Essaie ceci :

Sub CoupeTexte()
Range("B4").Select
Do While ActiveCell <> ""
wTxt = ActiveCell.Value
wSepare = InStr(wTxt, " ")
wGauche = Left$(wTxt, wSepare - 1)
wDroite = Right$(wTxt, Len(wTxt) - wSepare - 2)
ActiveCell.Value = wGauche
ActiveCell.Offset(0, 1).Value = wDroite
ActiveCell.Offset(1, 0).Select
Loop
End Sub


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/


"Perceval973" a écrit dans le message de news:
41b5c3bd$0$18823$
Bonjour tout le monde :-)

J'ai un tableau avec du texte dans les cellules B4 à B50
Ce texte est ecrit sous la forme :
"texte1 - texte A"
"texte2 - texte B"
"texte3 - texte C"
"texte4 - texte D"

Le "textenum" est différent d'une cellume a l'autre, le
"textelettre"
est


différent lui aussi.
La seule constante est que ces textes sont systématiquement séparés
par




"espace-tiret-espace"

mon probleme est le suivant :
Je voudrais a l'aide d'une macro couper tous les "textenum" et les
coller


dans les cellules A4 à A50 pour avoir
de A4 à A50 :
Texte1
Texte2
Texte3
Texte4 etc..

Et de B4 à B50 :
Texte A
Texte B
Texte C
Texte D etc..

Et supprimer tous les "espace-tiret-espace"

Est-ce possible avec mes maigres connaissances ?
Merci pour votre aide
Perceval





















1 2 3