Détecter un caractère "spécial" (<=)

Fermé
mdubout Messages postés 2 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 11 août 2006 - 11 août 2006 à 10:25
mdubout Messages postés 2 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 11 août 2006 - 11 août 2006 à 19:18
Application : powerpoint piloté par VBA

J'ai dans des text box (en arial) des grandeurs précédées de caractères "spéciaux" (<= ou >=) que j'ai inséré par (caractère spécial du menu insérer). Exemple : >= 1500 mm

Je récupère le contenu de ces text box dans un fichier text mais le carctère spécial est indiqué comme un "=" uniquement sans distinction ">=" ou "<="

Y a t il un moyen de détecter ce type de caractere pour le remplacer par un ou deux autres caractère ascii avant de le coller dans le fichier texte ?

merci
A voir également:

1 réponse

Essaies ça !

'besoin :
' 6 champs text nommés de text1, text2, text3, ... à text6
' 2 boutons

Private Sub Command1_Click() ' on consigne dans un fichier txt via la fonction vireLesCaracteresSpeciaux("xxx")
' consignation des champs text1, text2 et text3
f% = FreeFile
fic$ = "c:\temp\testcp.txt"
Open fic For Output As #f
Print #f, vireLesCaracteresSpeciaux(Text1.Text)
Print #f, vireLesCaracteresSpeciaux(Text2.Text)
Print #f, vireLesCaracteresSpeciaux(Text3.Text)
Close
End Sub

Private Sub Command2_Click() ' lecture du fichier et récupération dans les 3 autres champs text (4, 5 et 6)
f% = FreeFile
fic$ = "c:\temp\testcp.txt"
Dim buffer() As String
ReDim buffer(0 To 0)
Open fic For Input As #f
Do While Not EOF(1)
ReDim Preserve buffer(LBound(buffer) To UBound(buffer) + 1)
Line Input #f, buffer(UBound(buffer))
Loop
Close

Text4 = buffer(1)
Text5 = buffer(2)
Text6 = buffer(3)
End Sub

Function vireLesCaracteresSpeciaux(parm As String) As String
'init
Dim cp(2)
cp(0) = ">"
cp(1) = "<"
cp(2) = "="
vireLesCaracteresSpeciaux = ""

For i = 1 To Len(parm) ' boucle sur la longueur du parametre d'entree
For j = LBound(cp) To UBound(cp) ' boucle sur le tableau des caractères spéciaux à virer
parm = Replace(parm, cp(j), "") ' on remplace les caracteres spéciaux par des blancs
Next j
Next i
parm = Replace(parm, " ", " ") ' au acs où il resterait deux blancs collés on les remplace par un seul
vireLesCaracteresSpeciaux = Trim(parm)
End Function


Cdt
0
mdubout Messages postés 2 Date d'inscription vendredi 11 août 2006 Statut Membre Dernière intervention 11 août 2006
11 août 2006 à 19:18
merci pour cette longue réponse

mais je voudrais préciser ce que j'ai mal formuler dans ma question initiale :

je ne souhaite pas supprimer les caractère spéciaux

Je veux les détecter pour les remplacer par 1 ou 2 carctère ascii avant de les coller dans mon fichier (.txt) afin de faire la manip inverse quand le fichier (.txt) aura été traité

merci
0