OVH Cloud OVH Cloud

reponse d hier non fonctionnelle- re help

18 réponses
Avatar
Cher tous,=20

>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=E8res lettres soient dans
>la 1er cellule et le reste dans la seconde.
>
merci de me compiler tout cela pour que je puisse faire=20
un copier coller dans ma macro.

>merci d avance
>
>
cordialement
Alexis

>-----Message d'origine-----
>Salut
>
>Donn=E9e/convertir Largeur fixe
>2=E8me =E9tape, tu positionnes la s=E9paration apr=E8s le 4=E8me=20
caract=E8re
>
>pour la macro
> Columns("A:A").TextToColumns Destination:=3DRange("A1"),
>DataType:=3DxlFixedWidth, _
> FieldInfo:=3DArray(Array(0, 1), Array(4, 1))

8 réponses

1 2
Avatar
ru-th
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 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
à 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


.

.


.






.









Avatar
Clément Marcotte
T'as juste à faire Outils - Macro - Nouvelle macro

faire ta séquence d'opérations

terminer ta macro.

Et là, elle va être compilée.

"@lex" a écrit dans le message
de news:054801c3adc7$8db59290$

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))


Avatar
Clément Marcotte
Et là, elle va être compilée.


Encore que VBA est un langage interprété...

Avatar
Alex le terrien
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" 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 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



à 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


.

.


.






.




.










Avatar
Michel Gaboly
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" 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 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



à 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









Avatar
sabatier
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" 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 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



à 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











Avatar
Michel Gaboly
Quelle modestie (pas la partie MVP, l'autre) ;-))))


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" 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 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



à 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



--
Cordialement,

Michel Gaboly
http://www.gaboly.com











Avatar
sabatier
geedee, jps, accessoirement jacquouille : même combat
jps

Michel Gaboly a écrit:
Quelle modestie (pas la partie MVP, l'autre) ;-))))



1 2