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

Le
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:úlse, SearchFormat:úlse,
ReplaceFormat:úlse

Merci de votre aide (code ou simplement idée) !
@+
Philippe
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
bcar
Le #21112421
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




Gouap
Le #21119901
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" 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







Publicité
Poster une réponse
Anonyme