Pour tenter de réduire l’imperfection des ITCC, IPCC, ITPCC voire ITPCCC et plus généralement ICC(*), de nombreux algorithmes sont proposés (Soundex, Jaro-Winkler, …) et l’algorithme de Damerau-Levenshtein que j’ai implémenté ici en VBA.
Voir aussi le billet sur les indices de similarité et le billet sur la distance de Jaro-Winkler.
Lire la suite
Archives mensuelles : août 2012
QR Code
Encoder un texte en UTF-8
Si vous êtes utilisateur de web services ou si vous avez besoin d’encoder des chaînes de caractères en UTF-8,
Cette fonction en VBA va vous aider…
Lire la suite
Un meilleur RNG…
En parcourant le web, j’ai lu de nombreuses critiques concernant les générateurs de nombres aléatoires livrés avec les systèmes d’exploitation, les langages de programmation…
Et notre couple Randomize/Rnd que vaut-il ?
Lire la suite
Fonctions Min / Max d’une série de valeurs
Deux petites fonctions qui permettent d’extraire la valeur minimale ou maximale d’une série de valeurs dans une requête SQL ou dans un code VBA.
Lire la suite
Trouver la Nième plus petite valeur d’un tableau
On a souvent besoin de trouver la valeur mini ou maxi d’un tableau de valeurs numériques mais plus rarement la 10ème plus petite valeur, la 10 000 000ème… Je vous présente ici une implémentation en VBA d’un algorithme tout en un, d’une rare simplicité qui sélectionne en une fraction de seconde la valeur du rang désiré.
Lire la suite
Substituer des sous-chaînes
Je vous présente une fonction polyvalente écrite en VBA qui permet de remplacer une ou plusieurs sous-chaînes en tenant compte ou non de la casse des caractères.
Lire la suite
Remplacer les caractères accentués d’une chaîne
Lors d’une recherche de sous-chaine, il est parfois nécessaire de substituer les lettres accentuées par leurs équivalents sans accent.
En effet, le moteur Jet des bases de données Access est insensible à la casse des caractères mais ne fait pas le lien entre un caractère accentué et son équivalent.
La FAQ propose déjà deux fonctions ayant le même objectif, mais voici une troisième voie qui se caractérise par sa vitesse d’exécution et la possibilité ou non de conserver la casse des caractères de la chaine initiale.
Lire la suite
Réduire les espaces dans une chaîne de caractères
Notamment après l’import de données, on se retrouve parfois avec de multiples espaces entre les mots. Voici une fonction qui supprime efficacement ces espaces multiples en un.
Lire la suite
Somme exacte en double précision
Certaines sommes en double précision sont entâchées d’erreurs d’arrondi (round-off error) qui peuvent fausser significativement les résultats. Je vous présente un algorithme qui compense ces erreurs.
Lire la suite