OVH Cloud OVH Cloud

remplacer du texte par macro

5 réponses
Avatar
Sophie
Bonjour,=20

Je d=E9sire remplacer "," par "." dans une colonne en=20
passant pas une macro.=20

Dans la macro j'ai (entre autre)

Columns("B:B").Select
Selection.Replace What:=3D",", Replacement:=3D".",=20
LookAt:=3DxlPart, _
SearchOrder:=3DxlByRows, MatchCase:=3DFalse

Quand je lance la macro aucun remplacement n'est fait.

O=F9 est l'erreur ?=20

Sophie

5 réponses

Avatar
tictok
Bonjour Sophie.
Voila un code qui devrait marcher (pas sur a 100%):

Range("B1").Activate
While IsEmpty(ActiveCell) = False
ActiveCell.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
ActiveCell.Offset(1, 0).Activate
Wend

Tant que la procedure ne trouve pas une cellule vide, elle remplace la
virgule par le point et descend d'une cellule.
Ton code n'avait pas de cellule selectionnee, donc pas de remplacement
possible.

"Sophie" escreveu na mensagem
news:1638001c447c1$aa23a720$
Bonjour,

Je désire remplacer "," par "." dans une colonne en
passant pas une macro.

Dans la macro j'ai (entre autre)

Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Quand je lance la macro aucun remplacement n'est fait.

Où est l'erreur ?

Sophie
Avatar
Re-bonjour,

Ca n'a pas marché ... Je vois bien la macro parcourir
toutes les cellules, mais le remplacement ne se fait pas.

Doit y avoir un "truc"

-----Message d'origine-----
Bonjour Sophie.
Voila un code qui devrait marcher (pas sur a 100%):

Range("B1").Activate
While IsEmpty(ActiveCell) = False
ActiveCell.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:úlse
ActiveCell.Offset(1, 0).Activate
Wend

Tant que la procedure ne trouve pas une cellule vide,
elle remplace la

virgule par le point et descend d'une cellule.
Ton code n'avait pas de cellule selectionnee, donc pas de
remplacement

possible.

"Sophie" escreveu
na mensagem

news:1638001c447c1$aa23a720$
Bonjour,

Je désire remplacer "," par "." dans une colonne en
passant pas une macro.

Dans la macro j'ai (entre autre)

Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Quand je lance la macro aucun remplacement n'est fait.

Où est l'erreur ?

Sophie




.



Avatar
Kamel
Salut Sophie,

ta macro semble être bonne, il faudrait peut etre spécifier la feuille dans
laquelle va etre fait ce remplacement

sub remplacement()
thisworkbook.sheet("nom de la feuille").select
Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
end sub

"Sophie" wrote in message
news:1638001c447c1$aa23a720$
Bonjour,

Je désire remplacer "," par "." dans une colonne en
passant pas une macro.

Dans la macro j'ai (entre autre)

Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Quand je lance la macro aucun remplacement n'est fait.

Où est l'erreur ?

Sophie
Avatar
tictok
Reprends mon code mais a la place de
ActiveCell.Replace What:=",", Replacement:=".",
tu mets

ActiveCell.Replace What:="0", Replacement:="ZZZ",
Juste pour bien voir que les 0 sont remplaces par ZZZ.

Je ne sais pas pourquoi la virgule ne veut pas etre remplacee. Pas normal
!!!
On dirait que la virgule est un caractere special ...

N.B. :
Quand ca marchera, tu rajouteras ca :
Application.ScreenUpdating = False avant le "While ..."
Application.ScreenUpdating = True apres le "Wend".
L'ecran sera 'fige' mais ca ira beaucoup plus vite

escreveu na mensagem
news:165a601c447cc$7abb1d00$
Re-bonjour,

Ca n'a pas marché ... Je vois bien la macro parcourir
toutes les cellules, mais le remplacement ne se fait pas.

Doit y avoir un "truc"

-----Message d'origine-----
Bonjour Sophie.
Voila un code qui devrait marcher (pas sur a 100%):

Range("B1").Activate
While IsEmpty(ActiveCell) = False
ActiveCell.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _

SearchOrder:=xlByRows, MatchCase:úlse
ActiveCell.Offset(1, 0).Activate
Wend

Tant que la procedure ne trouve pas une cellule vide,
elle remplace la

virgule par le point et descend d'une cellule.
Ton code n'avait pas de cellule selectionnee, donc pas de
remplacement

possible.

"Sophie" escreveu
na mensagem

news:1638001c447c1$aa23a720$
Bonjour,

Je désire remplacer "," par "." dans une colonne en
passant pas une macro.

Dans la macro j'ai (entre autre)

Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Quand je lance la macro aucun remplacement n'est fait.

Où est l'erreur ?

Sophie




.



Avatar
Daniel.M
Sophie,

La virgule résulte d'un format et non d'un caractère inscrit.

Tu dois changer le format de ta colonne ou changer tes paramètres régionaux de
Windows de façon à ce que le séparteur de milliers et/ou le séparateur de
décimal ne soient pas la virgule.

Salutations,

Daniel M.

"Sophie" wrote in message
news:1638001c447c1$aa23a720$
Bonjour,

Je désire remplacer "," par "." dans une colonne en
passant pas une macro.

Dans la macro j'ai (entre autre)

Columns("B:B").Select
Selection.Replace What:=",", Replacement:=".",
LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse

Quand je lance la macro aucun remplacement n'est fait.

Où est l'erreur ?

Sophie