Le 29/10/2009 à 10:34
c
charly_xiii
- Messages
- 34
- Excel
- 2007 FR
- Inscrit
- 18/09/2009
TELECHARGEMENTS
Plus de 300 applications Excel sont disponibles gratuitement en téléchargement !
- Budget, gestion de comptes
- Gestion commerciale, personnel
- Plannings, calendriers
- Etc.
Voir les applications ...
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)
Ö
Ö
Le 29/10/2009 à 11:50
v
vba-new
- Messages
- 2'943
- Votes
- 192
- Excel
- 2010 FR - 2013 FR
- Inscrit
- 13/05/2009
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
Le 29/10/2009 à 12:22
c
charly_xiii
- Messages
- 34
- Excel
- 2007 FR
- Inscrit
- 18/09/2009
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)
Le 29/10/2009 à 12:36
d
dubois
- Messages
- 9'246
- Votes
- 352
- Excel
- Vista Office 2007FR
- Inscrit
- 08/12/2007
- Emploi
- retraité Sce.Méthodes
- Lieu
- MEUDON région parisienne
Bonjour à tous,
Cela ressemble à une police Wisiging ,
en enregistrant pour remettre en police normale:
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").SelectEnd Sub
à tester
Amicalement
Claude.
Faire simple, c'est ce qui est le plus compliqué ! et vice versa (à méditer)
Le 30/10/2009 à 07:34
c
charly_xiii
- Messages
- 34
- Excel
- 2007 FR
- Inscrit
- 18/09/2009
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 ?
Le 30/10/2009 à 07:39
c
charly_xiii
- Messages
- 34
- Excel
- 2007 FR
- Inscrit
- 18/09/2009
Je joins une partie du fichier non sensible
https://www.excel-pratique.com/~files/doc2/piAkSClasseur1.xls
Le 30/10/2009 à 08:07
cousinhub
- Messages
- 3'327
- Votes
- 668
- Excel
- xl 2021 Fr
- Inscrit
- 28/05/2009
- Lieu
- Brest
Bonsoir,
essaie ce code :
Sub remplace_csv()ReDim A_Remplacer(0 To 26)ReDim Remplacants(0 To 26)Dim I As ByteA_Remplacer = Array("î", "é", "→", "Ãœ", "ù", "â", "è", "à ", "’", "€", "®", "Ø", "°", "ç", "ô", _ "«", "»", "û", "ê", "…", "/ø", "ø", "À", "É", "È", " à ", "Ö")Remplacants = Array("î", "é", Chr(26), "Ü", "û", "â", "è", "à", "'", "€", "®", "Ø", "°", "ç", "ô", _ Chr(34), Chr(34), "û", "ê", "..", "ø", "ø", "A", "E", "E", " à ", "Ö")For I = 0 To 26 Cells.Replace What:=A_Remplacer(I), Replacement:=Remplacants(I), LookAt:=xlPartNext IEnd Sub
Fichier joint :
https://www.excel-pratique.com/~files/doc2/remplace_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/ Notre seule récompense est un "Merci".....
Le 30/10/2009 à 08:23
c
charly_xiii
- Messages
- 34
- Excel
- 2007 FR
- Inscrit
- 18/09/2009
Salut cousinhub !
ça a l'air de bien marcher sauf pour " Ã " / " à "
un soucis avec les espaces ...?
Le 30/10/2009 à 08:44
c
charly_xiii
- Messages
- 34
- Excel
- 2007 FR
- Inscrit
- 18/09/2009
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 !
Le 09/04/2013 à 11:10
V
VBA_padawan
- Messages
- 4
- Excel
- 2010 EN
- Inscrit
- 09/04/2013
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
Sub Caractere_speciaux()ReDim A_Remplacer(0 To 2) ReDim Remplacants(0 To 2)Dim I As ByteA_Remplacer = Array("à", "é")Remplacants = Array("à", "&ecute;")For I = 0 To 2 Cells.Replace What:=A_Remplacer(I), Replacement:=Remplacants(I), LookAt:=xlPartNext IEnd 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.
Le 13/04/2013 à 09:54
v
vba-new
- Messages
- 2'943
- Votes
- 192
- Excel
- 2010 FR - 2013 FR
- Inscrit
- 13/05/2009
Bonjour VBA_padawan,
Pour répondre à ta 1ère question :
VBA_padawan a écrit :
A quoi correspond la valeur 0 to 2 ? Est ce bien en rapport avec le nombre d'élements dans A_Remplacer = Array("à", "é")?
C'est bien cela. Par contre, un tableau allant de 0 à 2 possède 3 valeurs (pour simplifier).
Une valeur avec l'indice 0
Une valeur avec l'indice 1
Une valeur avec l'indice 2.
Dans ton cas, tu n'as que 2 valeurs : "à" et "é".
Il te suffit de déclarer tes variables comme ça :
ReDim A_Remplacer(0 To 1) ReDim Remplacants(0 To 1)
vba-new
Le 27/08/2015 à 16:53
m
marittte
- Messages
- 11
- Excel
- Mac 2011
- Inscrit
- 18/08/2014
ACCES PREMIUM
Soutenez le site en devenant membre Premium et profitez de plusieurs options exclusives :
- Navigation sans publicités
- Option "No Tracking"
- Option "Mode Incognito"
- Option "Dark Mode"
Plus d'informations ...
Bonjour à tous,
Tout d'abord merci pour la merveilleuse solution proposée par cousinhub qui a éclairé ma journée ! J'ai un fichier espagnol à traiter avec ces histoires d'accent donc j'ai repris le code et je l'ai adapté à mes caractères. Cela fonctionne, en revanche j'ai 2 caractères qui me posent souci : ó (qui correspond au ó espagnol) et Ã- (qui correspond au í). Je copie colle ces caractère dans ma macro et cela refuse de se coller tel quel cela se transforme en Ã_. Du coup j'ai regardé dans la table des caractères ASCII pour ajouter Char() dans le code, car j'ai vu que tu avais fait cela pour certains caractères, mais je me planter quelque part mal car cela ne fonctionne pas non plus.
Si quelqu'un a une astuce ça serait top !
Bonne journée !
Bonjour à tous (désolée j'ai copié 2 fois le message je ne suis pas sûre d'avoir répondu au bon endroit la 1ère fois),
Tout d'abord merci pour la merveilleuse solution proposée par cousinhub qui a éclairé ma journée ! J'ai un fichier espagnol à traiter avec ces histoires d'accent donc j'ai repris le code et je l'ai adapté à mes caractères. Cela fonctionne, en revanche j'ai 2 caractères qui me posent souci : ó (qui correspond au ó espagnol) et Ã- (qui correspond au í). Je copie colle ces caractère dans ma macro et cela refuse de se coller tel quel cela se transforme en Ã_. Du coup j'ai regardé dans la table des caractères ASCII pour ajouter Char() dans le code, car j'ai vu que tu avais fait cela pour certains caractères, mais je me planter quelque part mal car cela ne fonctionne pas non plus.
Si quelqu'un a une astuce ça serait top !
Bonne journée !