Comparaison des méthodes de suppression des accents

job75

XLDnaute Barbatruc
Bonjour le forum,

Suite aux derniers posts de ce fil :

https://www.excel-downloads.com/threads/find-peut-il-passer-outre-la-position-des-caracteres.157649/

il m'a paru intéressant de comparer les méthodes données par Hasco et la fonction ANSI128 de Morefunc.

Dans le fichier joint cette macro effectue le calcul :

Code:
Sub Calcul()
Dim n As Long, cel As Range, t As Single, F As String, i As Long
n = 10000 'nombre de boucles
Application.ScreenUpdating = False
Application.Calculation = xlManual
For Each cel In [D8:D10]
  t = Timer
  F = cel.FormulaR1C1
  For i = 1 To n
    cel.FormulaR1C1 = F
  Next
  cel.Offset(, 1) = Round((Timer - t) * 1000000 / n)
Next
Application.Calculation = xlAutomatic
End Sub
Pour une fois, du moins sur mon ordi fixe (Excel 2003), Laurent Longre n'est pas le meilleur.

Je n'ai pas osé télécharger Morefunc sur mon portable équipé d'Excel 2010.

Quelqu'un peut-il me dire s'il fonctionne sur Excel 2010 ? Merci d'avance.

A+
 

Pièces jointes

  • Méthodes sans accents(1).xls
    44.5 KB · Affichages: 83
G

Guest

Guest
Re : Comparaison des méthodes de suppression des accents

bonjour,
Job:)

Je ne peux pas répondre à ta question, je n'ai pas 2010.
En ce qui concerne la fonction avec API Windows32 et pour ceux que cela intéresse elle vient de Ce lien n'existe plus

A+
 

job75

XLDnaute Barbatruc
Re : Comparaison des méthodes de suppression des accents

Re,

Merci Hasco.

Pour info, j'ai pris le risque de télécharger Morefunc sur mon portable avec Excel 2010.

Mais l'installation n'a pas réussi : la macro complémentaire n'apparaît pas...

Possible que Microsoft n'ai pas fait en sorte que ça puisse fonctionner.

A moins qu'il ait fait en sorte...

A+
 

YANN-56

XLDnaute Barbatruc
Re : Comparaison des méthodes de suppression des accents

Bonjour Maîtres Job et Hasco,

L'élève n'a pas été capable d'adapter l'une ou l'autre des méthodes! :mad:
Comme le cancre en retard, il est passé par la porte de derrière...
(Voir le nouveau Classeur joint .... Dommage; mais bon! Je fais ce que je peux!)

Hasco, tu me parles de "LookAt" dont j'ai bien compris l'utilité,
mais je suis infichu de l'insérer dans mon code. (L'aide Excel est très limitée à ce sujet!!!)

Quant à l'utilisation des fonctions, j'ai encore beaucoup de boulot à faire.

Heureux cependant du débat que ma question initiale a engendré sur ce fil.
Les XLDNautes comprenants vous certainement se régaler.

Amicalement, avec Merci pour votre gentillesse et Bravo ce que vous savez faire.

Yann
 

Pièces jointes

  • TROUVE_MOT_1.xls
    36.5 KB · Affichages: 60
G

Guest

Guest
Re : Comparaison des méthodes de suppression des accents

Bonsoir yann

Les XLDNautes comprenants vous certainement se régaler.

Toi y ' en a vouloir dire quoi?:)

Et si toi expliquer nous quoi toi vouloir faire exactement, parce que fichier un peu 'bordel'.

Toi y'en a trop descendre à cave.:D je crois

A plouss
 

YANN-56

XLDnaute Barbatruc
Re : Comparaison des méthodes de suppression des accents

Bonsoir à vous, :) :)

Hasco, quand je disais se régaler, je parlais bien évidemment
de profiter de la richesse de votre dialogue.

Quant au mot "Comprenants" il fallait entendre: "Capable de comprendre"

Un Breton n'est pas toujours aviné, même si comme moi il fait preuve de non-Challans (Ce)
(Remplace "Cave" par "Modestie", et tu comprendras mieux ce que je voulais dire!!!!!)

En matière de VBA, je parle certainement en "petit nègre"
mais pour ce qui est du français je fais des efforts!!!

parce que fichier un peu 'bordel'

Il est bien de le dire, mais d'en montrer meilleure version serait encore plus constructif.

Désolé en l'instant d'avoir abusé de ton temps!!! :eek:

Merci Job pour ta politesse.

Mon USF montre ce que je cherchais à faire.
Le résultat me satisfait; mais c'est de la bidouille au regard de vos codes.
Si je suis passé par la porte de derrière, ce n'est que je suis trop petit pour le grand portail.

Mon fil initial n'a plus lieu d'être car j'ai décidé de rester jouer sur mon tas de sable.

Il n'en demeurera pas moins que j'ai apprécié ton aide, ainsi que celle de Hasco.

Soyez assurés tous les deux de ma reconnaissance et sympathie

Yann
 
G

Guest

Guest
Re : Comparaison des méthodes de suppression des accents

Bonjour Yann,

Mon intention n'était pas du tout de te blesser de quelconque manière que ce soit. C'était juste histoire de mettre un accent à un dialogue sur les chaînes non accentuées:).Du second degré (comme la cave). Je m'abstiendrai à l'avenir.

Tu sais Yann j'ai une petite tête et quand j'ai ouvert ton fichier et me suis creusé pour savoir exactement ce que tu voulais en faire, sans y parvenir:confused:.

Je te souhaite une bonne journée.
 

YANN-56

XLDnaute Barbatruc
Re : Comparaison des méthodes de suppression des accents

Bonjour Hasco, Job, et à ceux qui passeront par ici,

Ami Hasco :), tu dois avouer que tu y es allé un peu fort!
Mais sans doute l'avais-je cherché un peu avec mes bêtises!
L'incident, s'il en est, est clos.

Je vais tenter d'expliquer les raisons de ma question initiale. (Mais ce n'est pas de la tarte):

Dans un Combobox: Commune de LANDEVANT en majuscules (Base de données oblige!)
Dans un Textbox: Une rue ou un lieu.

La feuille Excel jointe "MAJUSCULES" montre deux résultats suivant le lieu saisi dans le TextBox

1) "Rue Nationale" avec en lignes suivantes: "Landévant" -> c'est O.K.
2) "Accastimer" est aussi trouvé; mais l'adresse n'a pas ""Landévant" -> C'est faux.

Il me faut donc comparer cette adresse avec la value de mon Combobox!!!
pour vérifier que la proposition n'est pas erronée. (Via "Find" Le nom de la commune)

Mais comme maps.google m'a traduit cette commune en minuscules avec accents,
cela m'est impossible sans avoir supprimé ces derniers dans l'adresse proposée.
(Cellules en jaune)

Je joins un des derniers stades de ma tentative d'appli en cours, au cas où. (Fichier Zip)

(O.K. Là je vais devoir reconnaître le "Bordel".... Sauf que j'ai pallié à cette affaire d'accents)
Cependant; une fonction bien construite aurait certainement été plus académique.

Je ne doute que tu sois sollicité par ailleurs (Rançon de la gloire) :),
mais sache que je serai, comme d'hab., attentif à tes idées et remarques... Même avec 13,5%/vol.


Amicalement

Yann
 

Pièces jointes

  • MAJUSCULES.xls
    15 KB · Affichages: 96
  • EN_COURS.zip
    33.2 KB · Affichages: 22
  • MAJUSCULES.xls
    15 KB · Affichages: 97
  • MAJUSCULES.xls
    15 KB · Affichages: 99
G

Guest

Guest
Re : Comparaison des méthodes de suppression des accents

Re Yann,

Voci le code de ton module MAJ_SANS_ACCENT:

Code:
Const accent As String = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÌÍÎÏìíîïÙÚÛÜùúûüÿÑñÇç"
Const noAccent As String = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeIIIIiiiiUUUUuuuuyNnCc"
Private Function SansAccent(ByRef s As String) As String
Dim I As Integer
Dim lettre As String * 1
  SansAccent = s
  For I = 1 To Len(accent)
    lettre = Mid$(accent, I, 1)
    If InStr(SansAccent, lettre) > 0 Then
       SansAccent = Replace(SansAccent, lettre, Mid$(noAccent, I, 1))
    End If
  Next I
End Function
Sub MAJ_SANS_ACCENT_FEUILLE()
Dim Cell As Range
For Each Cell In Range(Cells(ActiveSheet.Range("C65536").End(xlUp).Row, 2), Cells(ActiveSheet.Range("C65536").End(xlUp).Row + 5, 2))
    'Méthode SansAccents
    If Cell <> "" Then Cell.Text = UCase(SansAccent(Cell.Text))
Next
End Sub
A+
 

YANN-56

XLDnaute Barbatruc
Re : Comparaison des méthodes de suppression des accents

Bonsoir Hasco,

J'ai substitué ton code au mien dans le module "MAJUSCULES_SANS_ACCENT"
mais j'ai un plantage sur cette ligne:

Code:
    If Cell <> "" Then Cell.Text = UCase(SansAccent(Cell.Text))

Pas grave en ce qui me concerne, car encore une fois je suis passé par la porte de derrière! :)

Je trouve l'orthographe exacte du nom de la commune suivant la traduction de maps.google ainsi:

Code:
SON_NOM= Split(ActiveSheet.Cells(ActiveSheet.Range("a1:a50").Find("Itinéraire en voiture vers", LookIn:=xlValues, lookat:=xlPart).Row, 1).Value, LE CODE POSTAL)(1)

C'est donc ce dernier qui va me servir pour ma recherche "Find" dans la feuille.

J'ai fouillé de ce coté en raison d'un autre souci:

Dans ma base de données, il est écrit "PORT LOUIS" alors qu'il est trouvé: "Port-Louis"
Ce trait d'union éventuel en ajoutait trop à la complexité de l'analyse de la chaîne!

Par ce biais, je n'ai plus besoin de m'embêter avec les accents ou autres caractères.

Comme tu as su passer outre le mien!!! :) :) :)

Merci Hasco pour ton aide, car tu m'as beaucoup appris.
Je garde cette fonction dans mes archives.
Il se trouvera certainement un jour où j'en aurai bien besoin.

Je te souhaite plein de bonnes choses,
et à moi d'avoir le plaisir de te croiser à nouveau.

Amicalement

Yann
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Comparaison des méthodes de suppression des accents

Bonsoir à tous

Il y a aussi pour la suppression des accents, la piste regexp (n'est ce pas JNP ;) )

Pour ceux que cela intéresse, je suggère de jeter un oeil sur un des mes premiers fils (en tant que questionneur), vous y verrez ce que l'on y fait subir aux accents ;)
(Merci encore à ceux qui m'aidèrent à l'époque ...nous étions en 2005..le temps passe vite sur XLD)

PS: à l'époque je ne n'utilisais pas encore Regexp de façon soutenue.

EDITION: Je te rends le salut Hasco (même si c'est avec retard ;) )
 
Dernière édition:
G

Guest

Guest
Re : Comparaison des méthodes de suppression des accents

bonjour à tous,

Je cède à une inofficielle, mais agréabel tradition:

N'apporte rien au fil, seulement le plaisir de saluer l'ami Staple:):):)

A++
 
Dernière modification par un modérateur:

Statistiques des forums

Discussions
312 536
Messages
2 089 388
Membres
104 155
dernier inscrit
electsayah