-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se limiter
à uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins j'espère,
plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après le
4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
<anonymous@discussions.microsoft.com> a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$a301280a@phx.gbl...
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°\
-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se limiter
à un
copier-coller de ce qui s'écrit ici a de fortes chances
de mener à de
belles, voire dangereuses, surprises), as(tu regardé du
côté de
Données/Convertir qui va te paraître, du moins j'espère,
plus facile à
manipuler?
jps
Modeste wrote:
;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientation
choisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-
ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel ou
bien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+
-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546
cellules à modifier à la main.
@lex
-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum est
animé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faire
un copier coller dans ma macro.
n'est vraiment pas adaptée.
Cher tous,
comment scinder par le biais d'une macro une
cellule
en
deux.
les cellules choisies dans une colonne
contiennent des
noms et l'on veut que les 4 premières lettres
soient
dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faire
un copier coller dans ma macro.
merci d avance
cordialement
Alexis
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après le
4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se limiter
à uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins j'espère,
plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après le
4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
comment scinder par le biais d'une macro une cellule en
deux.
les cellules choisies dans une colonne contiennent des
noms et l'on veut que les 4 premières lettres soient dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse faire
merci d avance
cordialement
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après le 4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4, 1))
comment scinder par le biais d'une macro une cellule en
deux.
les cellules choisies dans une colonne contiennent des
noms et l'on veut que les 4 premières lettres soient dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse faire
merci d avance
cordialement
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après le 4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4, 1))
comment scinder par le biais d'une macro une cellule en
deux.
les cellules choisies dans une colonne contiennent des
noms et l'on veut que les 4 premières lettres soient dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse faire
merci d avance
cordialement
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après le 4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4, 1))
Et là, elle va être compilée.
Et là, elle va être compilée.
Et là, elle va être compilée.
-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenir
Columns
a+
rural thierry
"alex" a écrit
dans le message de
news: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiter
à uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,
plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le
4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenir
Columns
a+
rural thierry
"alex" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 0c7301c3aeb3$246c1d30$a301280a@phx.gbl...
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex
-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
<anonymous@discussions.microsoft.com> a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$a301280a@phx.gbl...
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°\
-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiter
à un
copier-coller de ce qui s'écrit ici a de fortes chances
de mener à de
belles, voire dangereuses, surprises), as(tu regardé du
côté de
Données/Convertir qui va te paraître, du moins
j'espère,
plus facile à
manipuler?
jps
Modeste wrote:
;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientation
choisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-
ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel ou
bien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+
-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546
cellules à modifier à la main.
@lex
-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum est
animé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faire
un copier coller dans ma macro.
n'est vraiment pas adaptée.
Cher tous,
comment scinder par le biais d'une macro une
cellule
en
deux.
les cellules choisies dans une colonne
contiennent des
noms et l'on veut que les 4 premières lettres
soient
dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faire
un copier coller dans ma macro.
merci d avance
cordialement
Alexis
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le
4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenir
Columns
a+
rural thierry
"alex" a écrit
dans le message de
news: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiter
à uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,
plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le
4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenirColumns
a+
rural thierry
"alex" a écrit
dans le message denews: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiterà uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien
-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenir
Columns
a+
rural thierry
"alex" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 0c7301c3aeb3$246c1d30$a301280a@phx.gbl...
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex
-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
<anonymous@discussions.microsoft.com> a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$a301280a@phx.gbl...
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°\
-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiter
à un
copier-coller de ce qui s'écrit ici a de fortes chances
de mener à de
belles, voire dangereuses, surprises), as(tu regardé du
côté de
Données/Convertir qui va te paraître, du moins
j'espère,
plus facile à
manipuler?
jps
Modeste wrote:
;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientation
choisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-
ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel ou
bien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+
-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546
cellules à modifier à la main.
@lex
-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum est
animé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faire
un copier coller dans ma macro.
n'est vraiment pas adaptée.
Cher tous,
comment scinder par le biais d'une macro une
cellule
en
deux.
les cellules choisies dans une colonne
contiennent des
noms et l'on veut que les 4 premières lettres
soient
dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faire
un copier coller dans ma macro.
merci d avance
cordialement
Alexis
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le
4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenirColumns
a+
rural thierry
"alex" a écrit
dans le message denews: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiterà uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
Bonjour,
Ce n'est pas la majuscule qui bloquait, mais l'apos-
trophe ;-)))
En effet l'apostrophe indique que les caractères suivants
situés sur la même ligne sont des commentaires. N'hésite
pas à en mettre dans ton code, cela aide si tu dois le modi-
fier 6 mois plus tard, ou si quelqu'un d'autre en hérite.
Avec l'apostrophe, le "c" de columns restait en minuscule
car l'éditeur VBA n'intervient pas sur les commentaires;
il n'est pas concerné.
Sans l'apostrophe, "columns" est reconnu par VBA, qui
réta- blit la majuscule.
Tu peux essayer d'entrer "cOLumNs", l'éditeur le rempla-
cera également par "Columns", dés que tu seras passé à
une autre ligne.
Voilà.ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenirColumns
a+
rural thierry
"alex" a écrit
dans le message denews: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiterà uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour,
Ce n'est pas la majuscule qui bloquait, mais l'apos-
trophe ;-)))
En effet l'apostrophe indique que les caractères suivants
situés sur la même ligne sont des commentaires. N'hésite
pas à en mettre dans ton code, cela aide si tu dois le modi-
fier 6 mois plus tard, ou si quelqu'un d'autre en hérite.
Avec l'apostrophe, le "c" de columns restait en minuscule
car l'éditeur VBA n'intervient pas sur les commentaires;
il n'est pas concerné.
Sans l'apostrophe, "columns" est reconnu par VBA, qui
réta- blit la majuscule.
Tu peux essayer d'entrer "cOLumNs", l'éditeur le rempla-
cera également par "Columns", dés que tu seras passé à
une autre ligne.
Voilà.
ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien
-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenir
Columns
a+
rural thierry
"alex" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 0c7301c3aeb3$246c1d30$a301280a@phx.gbl...
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex
-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
<anonymous@discussions.microsoft.com> a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$a301280a@phx.gbl...
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°\
-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiter
à un
copier-coller de ce qui s'écrit ici a de fortes chances
de mener à de
belles, voire dangereuses, surprises), as(tu regardé du
côté de
Données/Convertir qui va te paraître, du moins
j'espère,
plus facile à
manipuler?
jps
Modeste wrote:
;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientation
choisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-
ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel ou
bien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+
-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546
cellules à modifier à la main.
@lex
-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum est
animé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faire
un copier coller dans ma macro.
n'est vraiment pas adaptée.
Cher tous,
comment scinder par le biais d'une macro une
cellule
en
deux.
les cellules choisies dans une colonne
contiennent des
noms et l'on veut que les 4 premières lettres
soient
dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faire
un copier coller dans ma macro.
merci d avance
cordialement
Alexis
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le
4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Bonjour,
Ce n'est pas la majuscule qui bloquait, mais l'apos-
trophe ;-)))
En effet l'apostrophe indique que les caractères suivants
situés sur la même ligne sont des commentaires. N'hésite
pas à en mettre dans ton code, cela aide si tu dois le modi-
fier 6 mois plus tard, ou si quelqu'un d'autre en hérite.
Avec l'apostrophe, le "c" de columns restait en minuscule
car l'éditeur VBA n'intervient pas sur les commentaires;
il n'est pas concerné.
Sans l'apostrophe, "columns" est reconnu par VBA, qui
réta- blit la majuscule.
Tu peux essayer d'entrer "cOLumNs", l'éditeur le rempla-
cera également par "Columns", dés que tu seras passé à
une autre ligne.
Voilà.ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenirColumns
a+
rural thierry
"alex" a écrit
dans le message denews: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiterà uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
et note aussi, alex, que si tu écris JPS dans ton module, VBA le
remplacera automatiquement par MVP HS ou par "l'est pas cap' d'en faire
autant" si ta proc est correctement écrite...
jps
Michel Gaboly wrote:Bonjour,
Ce n'est pas la majuscule qui bloquait, mais l'apos-
trophe ;-)))
En effet l'apostrophe indique que les caractères suivants
situés sur la même ligne sont des commentaires. N'hésite
pas à en mettre dans ton code, cela aide si tu dois le modi-
fier 6 mois plus tard, ou si quelqu'un d'autre en hérite.
Avec l'apostrophe, le "c" de columns restait en minuscule
car l'éditeur VBA n'intervient pas sur les commentaires;
il n'est pas concerné.
Sans l'apostrophe, "columns" est reconnu par VBA, qui
réta- blit la majuscule.
Tu peux essayer d'entrer "cOLumNs", l'éditeur le rempla-
cera également par "Columns", dés que tu seras passé à
une autre ligne.
Voilà.ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenirColumns
a+
rural thierry
"alex" a écrit
dans le message denews: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiterà uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
et note aussi, alex, que si tu écris JPS dans ton module, VBA le
remplacera automatiquement par MVP HS ou par "l'est pas cap' d'en faire
autant" si ta proc est correctement écrite...
jps
Michel Gaboly wrote:
Bonjour,
Ce n'est pas la majuscule qui bloquait, mais l'apos-
trophe ;-)))
En effet l'apostrophe indique que les caractères suivants
situés sur la même ligne sont des commentaires. N'hésite
pas à en mettre dans ton code, cela aide si tu dois le modi-
fier 6 mois plus tard, ou si quelqu'un d'autre en hérite.
Avec l'apostrophe, le "c" de columns restait en minuscule
car l'éditeur VBA n'intervient pas sur les commentaires;
il n'est pas concerné.
Sans l'apostrophe, "columns" est reconnu par VBA, qui
réta- blit la majuscule.
Tu peux essayer d'entrer "cOLumNs", l'éditeur le rempla-
cera également par "Columns", dés que tu seras passé à
une autre ligne.
Voilà.
ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien
-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenir
Columns
a+
rural thierry
"alex" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news: 0c7301c3aeb3$246c1d30$a301280a@phx.gbl...
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex
-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)
columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,
1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'à
côté soit vide)
a+
rural thierry
"@LEX revient sur terre"
<anonymous@discussions.microsoft.com> a écrit dans
le message de news: 07e701c3ae85$a7cfc240
$a301280a@phx.gbl...
Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)
enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°\
-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiter
à un
copier-coller de ce qui s'écrit ici a de fortes chances
de mener à de
belles, voire dangereuses, surprises), as(tu regardé du
côté de
Données/Convertir qui va te paraître, du moins
j'espère,
plus facile à
manipuler?
jps
Modeste wrote:
;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientation
choisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-
ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel ou
bien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+
-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546
cellules à modifier à la main.
@lex
-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum est
animé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puisse
faire
un copier coller dans ma macro.
n'est vraiment pas adaptée.
Cher tous,
comment scinder par le biais d'une macro une
cellule
en
deux.
les cellules choisies dans une colonne
contiennent des
noms et l'on veut que les 4 premières lettres
soient
dans
la 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faire
un copier coller dans ma macro.
merci d avance
cordialement
Alexis
-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le
4ème
caractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
et note aussi, alex, que si tu écris JPS dans ton module, VBA le
remplacera automatiquement par MVP HS ou par "l'est pas cap' d'en faire
autant" si ta proc est correctement écrite...
jps
Michel Gaboly wrote:Bonjour,
Ce n'est pas la majuscule qui bloquait, mais l'apos-
trophe ;-)))
En effet l'apostrophe indique que les caractères suivants
situés sur la même ligne sont des commentaires. N'hésite
pas à en mettre dans ton code, cela aide si tu dois le modi-
fier 6 mois plus tard, ou si quelqu'un d'autre en hérite.
Avec l'apostrophe, le "c" de columns restait en minuscule
car l'éditeur VBA n'intervient pas sur les commentaires;
il n'est pas concerné.
Sans l'apostrophe, "columns" est reconnu par VBA, qui
réta- blit la majuscule.
Tu peux essayer d'entrer "cOLumNs", l'éditeur le rempla-
cera également par "Columns", dés que tu seras passé à
une autre ligne.
Voilà.ca marche tres bien
merci a tous
et dire que cela était bloqué a cause d'une majuscule.
bien a vous
Alex le terrien-----Message d'origine-----
re-
essaies en otant l'apostrophe devant columns et celui-ci
devrait devenirColumns
a+
rural thierry
"alex" a écrit
dans le message denews: 0c7301c3aeb3$246c1d30$
Voila comme je l'ai recopier dans ma macro et ce la ne
fonctionne pas
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 19/11/2003 par alex
'
' Touche de raccourci du clavier: Ctrl+A
' columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, FieldInfo:=Array(Array
(0,1), Array(4, 1))
End Sub
je dois vraiment m'y prendre comme un bleu, j'enrage de
mes lacunes.
Alex-----Message d'origine-----
Salut
dans ton 1er message, je t'indiquai déjà cette macro
(sur 1 seule ligne)columns("A:A").TextToColumns
Destination:=Range("A1"),DataType:=xlFixedWidth,
FieldInfo:=Array(Array(0,1), Array(4, 1))
il suffit que tu changes A:A par la colonne concernée
(et que la cellule d'àcôté soit vide)
a+
rural thierry
"@LEX revient sur terre"
a écrit dansle message de news: 07e701c3ae85$a7cfc240
$Merci de m'avoir remis les pieds sur terre.
il est vrai que l'on vole parfois dans d'autres spheres
quand on est poussé par sa direction et l on
devient "directif" sans s'en apercevoir (idem à la
maison)enfin je ne suis pas là pour vous parler de mes pb,
mais merci.
Pour repondre à modeste, je vais essayer de donner le
maximun d'info sur mon soucis.
j'ai une colonne remplie de caratères alphabetiques de
type "fichier client" qui comporte plus de 4 catactères
sans espace, ni caractère numérique et autres.
Mon souhait est de scinder sur deux cellules cote à cote
les 4 premiers caratères et le reste.
MERCI A VOUS TOUS
DE TOUT COEUR - a bientot :°-----Message d'origine-----
bonjour alex
subodorant que VBA n'est pas ta tasse de thé (se
limiterà uncopier-coller de ce qui s'écrit ici a de fortes chances
de mener à debelles, voire dangereuses, surprises), as(tu regardé du
côté deDonnées/Convertir qui va te paraître, du moins
j'espère,plus facile àmanipuler?
jps
Modeste wrote:;-)))
eh bien voilà @lex tu es dans le bain maintenant !!!
bienvenue parmi les allumés d'EXCEL !!!
Ta question manque tout de même de précision.
les cellules à scinder sont-elles :
dans la même feuille ?
dans la meme ligne ou colonne
la cellule de droite ? ou du dessous (selon
l'orientationchoisie) est elle:
vide
ou bien peut etre écrasée
sinon faut-il la décaler ???
lorsque les premiers caractères sont des espaces,
doivent-ils etre pris en compte?
Lorsque la cellule à séparer est de type numérique la
place du signe (+ ou -) doit-elle etre réservée
lorsque les résultats de la séparation peuvent etre
interprétés numériquement doit-on les traiter comme
tel oubien les considérer comme texte
exemples :
visible Nb caractères
A2500.12 10 (2 espaces au début)
A2500.12 8
2500,12 7
-15,00 3
2500,00 4
24/12/2003 5
un exemple de macro à mettre dans un module standard
qui travaille sur les 30 premieres celules de la
colonne A
a adapter ensuite selon besoin
Sub Alex()
For i = 1 To 30
x = Cells(i, 1).Value
'------pour supprimer les espaces avant
'------sinon mettre en commentaire
x = Trim(x)
'--------------------------------
y = Left(x, 4)
z = Mid(x, 5, Len(x))
Cells(i, 1).Value = y
'------pour décaler
'------sinon mettre en commentaire
Cells(i, 2).Insert Shift:=xlToRight
'----------------------------------------------
Cells(i, 2).Value = z
Next
End Sub
@+-----Message d'origine-----
Veuillez accepter toutes mes excuses,
je ne connaissais pas la charte et l'esprit de ce
forum.
Pourriez vous svp m'aider a me depatouillé car j'ai
9546cellules à modifier à la main.
@lex-----Message d'origine-----
Bonjour,
Il te manque peut-être une info importante : ce
forum estanimé par des passionnés d'Excel, à titre bénévole.
Par conséquent la formulation
merci de me compiler tout cela pour que je
puissefaireun copier coller dans ma macro.
n'est vraiment pas adaptée.Cher tous,comment scinder par le biais d'une macro une
celluleendeux.
les cellules choisies dans une colonne
contiennent desnoms et l'on veut que les 4 premières lettres
soientdansla 1er cellule et le reste dans la seconde.
merci de me compiler tout cela pour que je puisse
faireun copier coller dans ma macro.merci d avance
cordialement
Alexis-----Message d'origine-----
Salut
Donnée/convertir Largeur fixe
2ème étape, tu positionnes la séparation après
le4èmecaractère
pour la macro
Columns("A:A").TextToColumns Destination:=Range
("A1"),DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(4,
1))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
.
.
.
.
.
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
Quelle modestie (pas la partie MVP, l'autre) ;-))))
Quelle modestie (pas la partie MVP, l'autre) ;-))))
Quelle modestie (pas la partie MVP, l'autre) ;-))))