Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment détecter et supprimer les caractères ASCI > 127 ?

2 réponses
Avatar
Gouap
bonjour à tous,

J'ai une vieille imprimante qui ne reconnait pas les caractères dont le code
asci est supérieur à 127. Quand elle en trouve un elle me fait une suite de
carés vides à la place.

Est il possible de modifier la ligne de code suivante pour supprimer tous
ces caractères étendus ?

Cells.Replace What:="~", Replacement:=" ", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False,
ReplaceFormat:=False

Merci de votre aide (code ou simplement idée) !
@+
Philippe

2 réponses

Avatar
bcar
Bonjour

une première idée (avec la fonction Asc()) :

Dim str As String
Dim strReplaced As String
Dim i As Long

str = ... ' -- la valeur que tu veux
strReplaced = ""
For i = 1 To Len(str)
if Asc(Mid(str,i,1) <= 127 Then
strReplaced = strReplaced + Mid(str,i,1)
End If
Next i


Le 02/02/2010 14:02, Gouap a écrit :
bonjour à tous,

J'ai une vieille imprimante qui ne reconnait pas les caractères dont le code
asci est supérieur à 127. Quand elle en trouve un elle me fait une suite de
carés vides à la place.

Est il possible de modifier la ligne de code suivante pour supprimer tous
ces caractères étendus ?

Cells.Replace What:="~", Replacement:=" ", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
ReplaceFormat:úlse

Merci de votre aide (code ou simplement idée) !
@+
Philippe




Avatar
Gouap
Merci pour ta proposition qui fonctionne.

Mais en fait, je cherchais quelque chose de plus rapide (fait directement
par excel) qui ne demanderais pas de tester chaque caratère de chaque
cellule car j'ai de gros tableau à traiter et ça devient vite très long.

@+
Philippe

"bcar" a écrit dans le message de news:
hk9ard$ljc$
Bonjour

une première idée (avec la fonction Asc()) :

Dim str As String
Dim strReplaced As String
Dim i As Long

str = ... ' -- la valeur que tu veux
strReplaced = ""
For i = 1 To Len(str)
if Asc(Mid(str,i,1) <= 127 Then
strReplaced = strReplaced + Mid(str,i,1)
End If
Next i


Le 02/02/2010 14:02, Gouap a écrit :
bonjour à tous,

J'ai une vieille imprimante qui ne reconnait pas les caractères dont le
code
asci est supérieur à 127. Quand elle en trouve un elle me fait une suite
de
carés vides à la place.

Est il possible de modifier la ligne de code suivante pour supprimer tous
ces caractères étendus ?

Cells.Replace What:="~", Replacement:=" ", LookAt:=xlPart,
SearchOrder _
:=xlByRows, MatchCase:úlse, SearchFormat:úlse,
ReplaceFormat:úlse

Merci de votre aide (code ou simplement idée) !
@+
Philippe