Remplacement Chr(10) par <BR> [Résolu]

bmwax 15 Messages postés mercredi 24 juin 2009Date d'inscription 6 août 2009 Dernière intervention - 5 août 2009 à 13:07 - Dernière réponse : bmwax 15 Messages postés mercredi 24 juin 2009Date d'inscription 6 août 2009 Dernière intervention
- 6 août 2009 à 10:56
Bonjour à tous

J'ai une colonne intitulée commentaire.
Je voudrais créer une macro qui remplace Chr(10) ou vbCrLf (dans le cas d'un ALT+ENTER - saut de ligne dans une même cellule) par
.

Voici mon code :

For i = 3 To Cells(65536, CommentCol).End(xlUp).Row
Cells(i, CommentCol).Select
Cells(i, CommentCol).Value = replace(Search(vbCrLf, Cells(i, CommentCol).Value), vbCrLf, "
")
Next i

Mais voilà il ne se passe pas grand chose...

Y aurait-il une âme intelligente pour me donner un coup de pouce ?

Merci
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 5 août 2009 à 17:04
3
Merci
Salut
Compliqué.
[*]
n'est pas un terme reconnu par VB, mais bon, pourquoi pas
[*] Replace fait déjà la recherche, pourquoi avoir encore inséré un Search ?
[*] Chr(10), c'est vbLf, alors pourquoi rechercher vbCrLf ? normal qu'il ne fasse rien

--> Replace(Cells(i, CommentCol).Value, vbLf, "
")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de cs_Jack
Meilleure réponse
bigfish_le vrai 1839 Messages postés vendredi 13 mai 2005Date d'inscription 20 novembre 2013 Dernière intervention - 5 août 2009 à 18:34
3
Merci
une demo sur la colonne A (attention pour que cela fonctionne correctement la colonne doit contenir une etiquette)

Sub demo()
    Dim cel As Range, maplage As Range
    Application.ScreenUpdating = False
    Set maplage = Range("A1:A" & Range("A" & Columns(1).Rows.Count).End(xlUp).Row)
    maplage.AutoFilter Field:=1, Criteria1:="=*" & vbLf & "*"
    Set maplage = maplage.SpecialCells(xlCellTypeConstants, 23).SpecialCells(xlCellTypeVisible)
    If Not maplage.Rows.Count = 0 Then
        For Each cel In maplage
           cel.Value = Replace(cel.Value, vbLf, "
")
        Next
    End If
    maplage.AutoFilter
    Application.ScreenUpdating = True
End Sub


A toi de faire le reste

Merci bigfish_le vrai 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de bigfish_le vrai
bmwax 15 Messages postés mercredi 24 juin 2009Date d'inscription 6 août 2009 Dernière intervention - 5 août 2009 à 17:32
0
Merci
Merci Jack.

Le problème c'est qu'il faut xxx = replace(... et non pas replace directement

J'ai essayé ca:

Dim Cel As Range
Dim p As String
Range(Cells(FirstRowData, cnColText), Cells(65536, cnColText).End(xlUp)).Select
For Each Cel In Selection
p = Cel.Value
p = replace(p, vbLf, "
")
Cel.Value = p
Next

Mais rien ne se passe.
Commenter la réponse de bmwax
bmwax 15 Messages postés mercredi 24 juin 2009Date d'inscription 6 août 2009 Dernière intervention - 6 août 2009 à 09:12
0
Merci
FAN-TAS-TIQUE !!!

Tu m'enlèves un gros cure-dent épineux du pied...

Merci
Commenter la réponse de bmwax
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 6 août 2009 à 10:32
0
Merci
"Le problème c'est qu'il faut xxx = replace(... et non pas replace directement" Oui, je sais, mais il te suffisait de remplacer ton actuelle syntaxe du Replace par celle que je te proposais
Et tu restais bloqué la dessus ?
Commenter la réponse de cs_Jack
bmwax 15 Messages postés mercredi 24 juin 2009Date d'inscription 6 août 2009 Dernière intervention - 6 août 2009 à 10:56
0
Merci
Hé bien j'avoue qu'il m'arrive parfois d'oublier de réfléchir...
J'ai quand même des circonstances atténuantes : plus de café le mercredi soir après une journée de code !

Mille excuses Jack, ton code fonctionne aussi...

Merci beaucoup !
Commenter la réponse de bmwax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.