Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

caractere "?"

daniel_c

XLDnaute Nouveau
bonjour le forum

je peche sur la fontion de remplacement de valeur

dans une colonne j'ai des données au format texte

je voudrais remplacer dans ces texte les points d'interogations par des virgules

mais la fonction remplacer considére le point d'interogation comme un caractere générique et me remplace tout le texte par des virgules

comment dois-je procéder

P.S. je dois intégrer cette fonction dans une macro

merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : caractere "?"

Bonjour,

sans voir le code utilisé difficile, mets peut être le point d'interrogation entre crochets:
Code:
[?]
bon après midi
@+

Edition : remplacé accolades par crochets...
 
Dernière édition:

daniel_c

XLDnaute Nouveau
Re : caractere "?"

Bonjour Pierrot93, le forum


Voici le code:

Sub Macrotest()
e = Range("E65536").End(xlUp).Row
Range("E2:E" & e).Select
Selection.Replace What:="?", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("E1").Select
End Sub

j'ai [N1?C3?M1?J2]
je veux obtenir [N1,C3,M1,J2]
mais la macro me donne [,,,,,,,,,,,]

Je joints un fichier d'exemple
 

Pièces jointes

  • test.xls
    23 KB · Affichages: 42
  • test.xls
    23 KB · Affichages: 42
  • test.xls
    23 KB · Affichages: 46

Staple1600

XLDnaute Barbatruc
Re : caractere "?"

Bonsoir à tous


En utilisant le tilde cela considère le ? comme un caractère

(c'est valable aussi pour * )

Donc testes en faisant
Edition / Remplacer ~? par ,
puis adaptes ta macro en conséquence
 

pierrejean

XLDnaute Barbatruc
Re : caractere "?"

Re

Voici une macro qui semble fonctionner sur ton fichier

Teste la sur toutes tes données

Code:
Sub essai()
For m = 2 To Range("A65536").End(xlUp).Row
For n = 1 To Len(Range("A" & m))
   If Mid(Range("A" & m), n, 1) <> "?" Then
    res = res & Mid(Range("A" & m), n, 1)
  Else
    res = res & ","
  End If
Next n
Range("C" & m) = res
res = ""
Next m
End Sub
 

Discussions similaires

Réponses
8
Affichages
462
Réponses
26
Affichages
570
Réponses
4
Affichages
387
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…