Vous avez apprécié ?
Cliquez ;-)

Conversion de caractères spéciaux  Sujet résolu

Forum pour toutes vos questions à propos d'Excel (avec ou sans macros) ...
RÉPONDRE

Applications Excel à télécharger :

Plus de 150 applications Excel sont disponibles gratuitement dans la partie Téléchargements du site ...
aucun avatar

Messagepar charly_xiii » 29 Octobre 2009, 10:34    Sujet résolu

Bonjour !

J'ai un p'tit soucis sur mon CSV importé depuis ma base de données
En effet tous les caractères spéciaux sortent transformés.

J'aimerais avoir une formule à appliquer sur l'ensemble de ma feuille pour tout rétablir en un clic...

Un merci pour votre aide

Voila mes correspondances :

î
î

é
é

→


Ü
Ü

ù
û

â
â

è
è

"à" (espace après le caractère)
à

’
'

€


®
®

Ø
Ø

°
°

ç
ç

ô
ô

«
"

»
"

û
û

ê
ê

…
..

/ø
ø

ø
ø

À
A

É
E

È
E

" Ã " (Espaces de part et d'autre du caractère)
" à " (Espaces de part et d'autre du caractère)

Ö
Ö
aucun avatar charly_xiii
Jeune membre
Jeune membre
 
Messages : 36
Inscription : 18 Septembre 2009
Version d'Excel : 2007 FR

Messagepar vba-new » 29 Octobre 2009, 11:50

Bonjour à tous,

charly_xiii peux-tu préciser l'endroit où se trouvent les données à modifier.

Est-ce dans la même colonne? Même ligne? Sur toute la feuille?

Mieux, pourrais-tu joindre un bout de fichier afin de mesurer l'ampleur du problème?
vba-new
aucun avatar vba-new
Membre impliqué
Membre impliqué
 
Messages : 2998
Inscription : 13 Mai 2009
Version d'Excel : 2010 FR - 2013 FR
  • Google Map

Messagepar charly_xiii » 29 Octobre 2009, 12:22

RE

Les données sont confidentielles je ne pourraia pas les divulguer

Cela concerne des données sur toute une feuille type excel xls
(Toutes lignes et toutes colonnes)
aucun avatar charly_xiii
Jeune membre
Jeune membre
 
Messages : 36
Inscription : 18 Septembre 2009
Version d'Excel : 2007 FR

Messagepar dubois » 29 Octobre 2009, 12:36

Bonjour à tous,

Cela ressemble à une police Wisiging ,
en enregistrant pour remettre en police normale:
Code: Tout sélectionner
Sub Macro2()
    Cells.Select
    With Selection.Font
        .Name = "Arial"
        .FontStyle = "Normal"
        .Size = 10
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Range("A1").Select
End Sub

à tester
Amicalement
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
aucun avatar dubois
Passionné d'Excel
Passionné d'Excel
 
Messages : 9273
Inscription : 8 Décembre 2007
Localisation : MEUDON région parisienne
Version d'Excel : Vista Office 2007FR

Messagepar charly_xiii » 30 Octobre 2009, 07:34

Bonjour Claude !
Malheureusement l'execution de la macro ne donne aucun resultat

Les caractères demeurent inchangés...

J'ai entendu parler de codage UTF8 ...
Cela est il en rapport ?
aucun avatar charly_xiii
Jeune membre
Jeune membre
 
Messages : 36
Inscription : 18 Septembre 2009
Version d'Excel : 2007 FR

Messagepar charly_xiii » 30 Octobre 2009, 07:39

Je joins une partie du fichier non sensible

https://www.excel-pratique.com/~files/do ... sseur1.xls
aucun avatar charly_xiii
Jeune membre
Jeune membre
 
Messages : 36
Inscription : 18 Septembre 2009
Version d'Excel : 2007 FR

Messagepar cousinhub » 30 Octobre 2009, 08:07

Bonsoir,

essaie ce code :

Code: Tout sélectionner
Sub remplace_csv()
ReDim A_Remplacer(0 To 26)
ReDim Remplacants(0 To 26)
Dim I As Byte
A_Remplacer = Array("î", "é", "→", "Ü", "ù", "â", "è", "à", "’", "€", "®", "Ø", "°", "ç", "ô", _
                  "«", "»", "û", "ê", "…", "/ø", "ø", "À", "É", "È", " à ", "Ö")
Remplacants = Array("î", "é", Chr(26), "Ü", "û", "â", "è", "à", "'", "€", "®", "Ø", "°", "ç", "ô", _
          pocwxuiv. canada goose expedition parka;         Chr(34), Chr(34), "û", "ê", "..", "ø", "ø", "A", "E", "E", " à ", "Ö")
For I = 0 To 26
    Cells.Replace What:=A_Remplacer(I), Replacement:=Remplacants(I), LookAt:=xlPart
Next I
End Sub


Fichier joint :

https://www.excel-pratique.com/~files/do ... ce_csv.xls

Bonne soirée

Edit, le fichier a été joint afin d'éviter les caractères non imprimables dans le post.
Prendre le code qui se situe dans le module 1
1/ on se demande à quoi servent les correcteurs d'orthographe....
2/ Notre seule récompense est un "Merci".....
aucun avatar cousinhub
Membre impliqué
Membre impliqué
 
Messages : 1947
Inscription : 28 Mai 2009
Localisation : Brest
Version d'Excel : xl 2016

Messagepar charly_xiii » 30 Octobre 2009, 08:23

Salut cousinhub !

ça a l'air de bien marcher sauf pour " Ã " / " à "
un soucis avec les espaces ...?
aucun avatar charly_xiii
Jeune membre
Jeune membre
 
Messages : 36
Inscription : 18 Septembre 2009
Version d'Excel : 2007 FR

Messagepar charly_xiii » 30 Octobre 2009, 08:44

Hum... apparement j'ai du me mélanger les pinceaux car en réessayant par copier/coller de la feuille csv en feuille 1 de ton fichier tout marche nickel !!!!

Un grand merci...

Comme d'habitude, toujours impéccable !!!

Vive cousin HUB !
aucun avatar charly_xiii
Jeune membre
Jeune membre
 
Messages : 36
Inscription : 18 Septembre 2009
Version d'Excel : 2007 FR

Messagepar VBA_padawan » 9 Avril 2013, 10:10

Bonjour,

Je cherche un code similaire afin de remplacer tous les caractères spéciaux présents dans les différentes cellules d'une même colonne de mon fichier excel 2010 par leur valeur xHtml : "à" => "à"

Du coup j'ai essayé d'utilser le code précédent en remplaçant les valeurs. Alors ça fonctionne par contre j'ai une erreur du type: Run type error '9' subscript out of range.

Ci-dessous ma version test avec simplement 2 caractères spéciaux, je rajouterai tous les autres une fois que celle-ci fonctionnera :).
Code: Tout sélectionner

Sub Caractere_speciaux()

ReDim A_Remplacer(0 To 2)
ReDim Remplacants(0 To 2)
Dim I As Byte
A_Remplacer = Array("à", "é")
Remplacants = Array("à", "&ecute;")
For I = 0 To 2
    Cells.Replace What:=A_Remplacer(I), Replacement:=Remplacants(I), LookAt:=xlPart
Next I
End Sub
 


A quoi correspond la valeur 0 to 2 ? Est ce bien en rapport avec le nombre d'élements dans A_Remplacer = Array("à", "é")?

Si jamais vous avez une autre technique pour remplacer les caractères spéciaux par leur valeur xhtml, je suis également preneur. Je suis tombé là dessus et je me suis dis que c'est une bonne piste de départ. par contre, je vais m'amuser pour insérer tout les caractères spéciaux ^^.

Merci pour votre aide.
aucun avatar VBA_padawan
Nouveau venu
Nouveau venu
 
Messages : 4
Inscription : 9 Avril 2013
Version d'Excel : 2010 EN


Nouvelles fonctions pour Excel :

Plus de 60 nouvelles fonctions pour Excel (et VBA) sont disponibles gratuitement dans la partie Add-In du site ...
aucun avatar

RÉPONDRE

Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message
  • Conversion des caractères spéciaux (UTF8 je crois...)
    par charly_xiii » 23 Septembre 2009, 08:33
    3 Réponses
    2398 Vus
    Dernier message par charly_xiii Voir le dernier message
    24 Septembre 2009, 14:54
  • Conversion lettres en nombre AVEC caractères spéciaux
    1, 2 Fichier(s) joint(s) par Olivier7895 » 30 Août 2017, 13:32
    10 Réponses
    123 Vus
    Dernier message par Olivier7895 Voir le dernier message
    30 Août 2017, 14:38
  • Substituer des caractères normaux aux caractères spéciaux
    Fichier(s) joint(s) par gloub » 11 Novembre 2014, 09:18
    9 Réponses
    935 Vus
    Dernier message par gloub Voir le dernier message
    11 Novembre 2014, 15:51
  • Caractères spéciaux
    par Nad-Dan » 13 Février 2008, 10:00
    6 Réponses
    4221 Vus
    Dernier message par Nad-Dan Voir le dernier message
    13 Février 2008, 12:30
  • Caractères spéciaux
    Fichier(s) joint(s) par Infogroup » 8 Juin 2010, 16:37
    1 Réponses
    850 Vus
    Dernier message par dubois Voir le dernier message
    8 Juin 2010, 19:16
  • caracteres speciaux
    par 078334 » 7 Juin 2012, 18:05
    2 Réponses
    1502 Vus
    Dernier message par 078334 Voir le dernier message
    8 Juin 2012, 17:09

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Canater, galopin01, Google [Bot], Google Adsense [Bot], h2so4, Kodabes, lama67170, thebenoit59, tizi02p, tosll, Yahoo [Bot] et 284 invités