Re"mplacement automatique de lettres

Résolu
caba_44 Messages postés 107 Statut Membre -  
caba_44 Messages postés 107 Statut Membre -
Bonjour,

Sur mon fichier Excel, j'ai des mots comme par exemple "Geschäftführung" où l'on retrouve des "ä" et des "ü".
Mais j'ai pleins d'autres caractère de ce type qu'un autre logiciel ne peut prendre en compte.
Il en est de même pour les ï, ñ, β, etc... bref des lettres d'autres alphabet que mon logiciel ne peut prendre en compte.

A partir de mon fichier excel, existe t-il une macro qui me permet de rapidement remplacer par d'autre lettre que j'aurai choisi ?

Exemple ä par a ou bien β par ss ou bien ñ par n et bien d'autres encore

Je n'y connais rien en macros ou autre hélas.
Mais si quelqu'un pouvait me donner quelques pistes, ça serait sympa.

Merci d'avance.

Mathieu

8 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Salut,
Pas besoin de macro, Excel le fait pour toi...
Edition / remplacer
dans "rechercher" tu indiques : β
dans "remplacer par " tu indiques : ss
et cliques sur "remplacer tout"
et voilà
0
caba_44 Messages postés 107 Statut Membre 5
 
Salut,

Merci ce qui m'oblige à la faire lettre par lettre hors j'ai une 20aine de caractères différents.
Cela m'oblige t'il a faire du edition remplacer un par un ?

L'idée aurait été de dire pour les caractères "ä,Ï,ü,ñ, etccc...." ils sont à remplacer automatiquement par "a,i,u,n, etc...)
Plutôt que de faire la manip un par un.

Merci d'avance si cela est possible sinon je ferai ça manuellement
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Sur une 20aine de caractère, à moins de devoir le faire 3 fois par jour sinon cela semble faisable. Si tu veux vraiment une macro, c'est faisable techniquement assez facilement même, faut juste voir l'utilité d'une telle automatisation. Dis moi, si tu en veux, tous les caractères "spéciaux" et par quoi faut il les remplacer.
0
caba_44 Messages postés 107 Statut Membre 5
 
Bonjour,

Pour ce qui est de l'utilisation, c'est une vraie usine à gaz, car j'ai 30000 contacts ce mois ci à gérer de 25 pays différents.
Je le fais tous les 15 jours sur 15000 lignes en gros.
Notre base de données est Prologue qui ne gère pas les caractères étrangers à ceux Français ce qui est problématique pour la qualité de notre fichier lorsque l'on a besoin du nom correct ou adresse correcte

Ceci serait une étape dans mon processus complet de qualification des données.

Les caractères seraient les suivants :
ß
ss
Ž ž
Z z
Ĵ ĵ
J j
ķ Ķ
k K
Ĝ ĝ ģ Ģ
G g g G
À Å Æ æ å Á á Á Ą ą Ă ă Ä Ā ā
A A AE ae a A a A A a A a A A a
É È Ê Ë Ę ę Ě ě Ē ē
E E E E E e E e E e
Í Ï í Î ì Ì Ī ī
I I i I i I I i
Ò Ó ò ó Ø ø œ Ô Œ Ő ő õ Õ
O O o o O o oe O OE O o o O
Ú ú Ű ű Ù Ů ů Ŭ ŭ ū Ū
U u U u U U u U u u U
l•l L•L Ł ł
ll LL L l
Ÿ ý Ý
Y y Y
Ç Ć ć Č č Ĉ ĉ
C C c C c C c
Ð ð Ď ď
D d D d
Ń ń Ň ň ņ Ņ
N n N n N n
Ś ś Ş ş Š š Ŝ ŝ
Ss S s S s S s
Ź Ż ż ź Ž ž
Z Z z z Z z
Ţ ţ Ť ť
T t T t
Ř ř
R r
Ļ ļ
L l
Ĥ ĥ
H h

En gras c'est la lettre particulière et en normal la lettre qui remplace.
C'est un travail long, peut-être que si vous aviez la possibilité de m'en faire quelques uns, ensuite dans le langage je m'y retrouverai peut-être pour ne pas vous charger.

En tout cas merci, si une macro permet de faire cela

Bonne soirée

Mathieu

PS: C'est impressionant le nombre de caractère qu'il peut y avoir juste en europe
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
a ouais quand même... Je me penche la dessus demain matin.
0
caba_44 Messages postés 107 Statut Membre 5
 
HEHE Merci c'est gentil.

Bonne soirée

Mathieu
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 770
 
Salut,
J'ai pas mal cherché et.... ça ne fonctionne pas avec tous les caractères.
Voici une première macro avec les sources qui fonctionne avec un max de caractères spéciaux (si tu trouves comment, tu peux en ajouter dans Const ACCENT les car spéciaux et dans Const NOACCENT la lettre de remplacement dans l'ordre!) :

Sub remplacer_Car_adapte_a_ton_cas()
    'sources : https://www.developpez.net/forums/d294952/autres-langages/general-visual-basic-6-vbscript/vbscript/vb-script-changer-caracteres-speciaux-caracteres-normaux/
Dim i
Dim lettre
Dim Cell As Variant

    Const ACCENT = "ßžžÀÅåÁáÁÄäÉÈÊËÍÏíÎîìÌÒÓòóØøÔõÕÚúÙùÛûÜüŸÿýÝÇÐðŠšŽž"
    Const NOACCENT = "SzzAAaAaAAaEEEEIIiIiiIOOooOoOoOUuUuUuUuYyyYCDdSsZz"
    
    For Each Cell In ActiveSheet.UsedRange
        For i = 1 To Len(ACCENT)
        lettre = Mid(ACCENT, i, 1)
            If InStr(Cell, lettre) <> 0 Then
                Cell.Value = Replace(Cell.Value, lettre, Mid(NOACCENT, i, 1))
            End If
        Next
    
    Next Cell
    
    Set i = Nothing
    Set lettre = Nothing
        
End Sub


Et une autre ou il convient d'ajouter tes caractères spéciaux à la suite les uns des autres comme indiqué en gras :

Sub remplacerCaracteres()
    Dim Cell As Variant
    For Each Cell In ActiveSheet.UsedRange
        Cell.Value = Replace(Cell.Value, "ß", "ss")
        Cell.Value = Replace(Cell.Value, "Ž", "Z")
        Cell.Value = Replace(Cell.Value, "ton_caractere_special", "la_lettre_de_remplacement")
    Next Cell
End Sub
--
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
0
caba_44 Messages postés 107 Statut Membre 5
 
Wouahh, merci...

Ca fonctionne pour une bonne partie quand même, les autres caractères sont suedois, islandais, ce genre de chose donc moins utilisé dans mon cas.

Merci beacoup pour avoir penché sur mon cas

A bientôt

Mathieu

PS: A force je vais devenir une bête VBASIC moi aussi ;)

++
0