Problème de Replace

Bonjour

Voila j'ai un code :

Sub TransposeTrans_Path()

Dim cr1$, cr2$, derlig&, i&, X&, cr3

With Feuil2

derlig = .Cells(Rows.Count, 2).End(xlUp).Row

cr1 = "<path id="""

cr2 = "title="""

X = 0

For i = 5 To derlig

X = X + 1

cr3 = Format("0" & X, "00")

.Cells(i, 4) = cr1 & cr3 & """ " & cr2 & .Cells(i, 1)

Cells(i, 1) = Replace(Cells(i, 1), "-", " ")

Cells(i, 1) = Replace(Cells(i, 1), "_", " ")

Next i

End With

End Sub

J'aimerai mettre ceci

Cells(i, 1) = Replace(Cells(i, 1), "-", " ")

Cells(i, 1) = Replace(Cells(i, 1), "_", " ")

sur une seul ligne

En faisant ceci Cells(i, 1) = Replace(Cells(i, 1), "-", " "), "_", " ") j'ai une erreur de compilation

Je vous remercie

Max

Bonjour

à froid sur la ligne en question manquerait pas un parenthèse ouvrante ????

Cordia5

Bonjour Cordia5

Peut être mais lequel?

Max

Bonjour Max,

Cells(i, 1) = Replace$(Replace$(Cells(i, 1), "-", " "), "_", " ")

dhany

Bonjour dhany,

Je te remercie , je ne savais pas qu'il fallait mettre deux fois Replace$

Je te souhaite un bon WE

Max

merci pour ton retour !

bon weekend à toi aussi !

dhany

Re,

Tu peut me dire pourquoi qu'il faut que je clik deux fois pour eneler les Replace?

Max

j'comprends pas ta question : pourquoi tu veux enlever les Replace ? et pourquoi tu veux faire ça par un double-clic ?

si ta question est plutôt : pourquoi il faut 2 Replace successifs, le p'tit complément ci-dessous doit y répondre.


petit complément à ma réponse précédente :

[quote="à 07:55, tu"]je ne savais pas qu'il fallait mettre deux fois Replace$[/quote]

s'il faut 2 Replace, c'est car le résultat du 2ème Replace sert de 1er argument au 1er Replace.

dhany

Re,

Non je me suis mal exprimer.

Je doit cliquer deux fois pour supprimer , "-", " "), "_", " ") dans mon texte

si tu dois faire un double-clic, ça signifie que ton code VBA est dans la sub Worksheet_BeforeDoubleClick() ; mais si tu veux pas de déclenchement par double-clic, faut plus utiliser cette sub événementielle, et déplacer le code dans une sub classique.

ce que j'appelle sub classique est une sub non événementielle placée dans un module standard tel que Module1 ; tu dois alors appeler cette sub via Alt F8 (fenêtre Macro), via un raccourci clavier que tu as ajouté (par exemple Ctrl e), ou via un bouton (placé sur la feuille).

dhany

re,

Mon code est place dans un module

dans ce cas, pour pouvoir t'aider davantage, il faudrait joindre ton fichier (sans données confidentielles).

en relisant ton énoncé, je vois que ton code VBA est dans la sub TransposeTrans_Path() ; c'est donc une sub classique non événementielle ; alors question : pourquoi donc fais-tu un double-clic ? que fais-tu donc pour arriver à ça ?

en principe, tu ne devrais pas faire de double-clic, et appeler la sub par Alt F8, un raccourci clavier, ou un bouton.

dhany

Re

Mon code se trouve dans un module

tu l'as déjà écrit à 08:50, c'est inutile de le répéter ; relis plutôt mes posts précédents.

Re,

Dans ma liste colonne "A" mon texte et comme ceci:

AUBERIVES-EN-ROYANS"

AUBERIVES-SUR-VAREZE"

AURIS"

AUTRANS-MÉAUDRE-EN-VERCORS"

LES_AVENIÈRES-VEYRINS-THUELLIN"

AVIGNONET"

Avec ce code ils deviennent comme ceci

Auberives En Royans"

Auberives Sur Vareze"

Auris"

Autrans Méaudre En Vercors"

Les Avenières Veyrins Thuellin"

Avignonet"

mais en double clik

Max

la question la plus importante est : pourquoi donc fais-tu un double-clic ? (c'est toi qui le décide, t'y es pas forcé !)

si ça t'aide pas à résoudre ton problème, à toi de joindre un fichier.

dhany

on s'est croisé, et j'viens d'lire ton post de 9:04 ; la réponse est la même que celle de mon post de 9:05.


autre question (qui est indépendante du problème) : pourquoi tes noms de ville se terminent tous par un guillemet ?

le veux-tu vraiment ? ou c'est un bug à corriger ?

dhany

Re,

Oui il le faut!

Rechercher des sujets similaires à "probleme replace"