REPLACE |
Remplace |
|---|---|
| Access 2019, Access 2016, Access 2013, Access 2010, Access 2007, Access 2003, Access XP, Access 2000 | Microsoft Access |
Syntaxe
| Replace( string1, find, replacement, [start, [count, [compare]]] ) |
Paramètres
| Nom | Description | ||
|---|---|---|---|
| string1 | Ce paramètre permet d'indiquer l'expression de chaîne de caractères à traiter. | ||
| find | Ce paramètre permet d'indiquer la chaîne de caractères à rechercher. | ||
| replacement | Ce paramètre permet d'indiquer la chaîne de caractères de remplacement. | ||
| start | Ce paramètre permet d'indiquer la position de début ou commence le remplacement dans la chaîne de caractères. | ||
| count | Ce paramètre permet d'indiquer le nombre maximal de substitution. | ||
| compare | Ce paramètre permet d'indiquer la méthode comparaison : | ||
| Valeur | Constante | Description | |
| -1 | vbUseCompareOption | Cette valeur permet d'indiquer qu'il faut utiliser les options de comparaison | |
| 0 | vbBinaryCompare | Cette valeur permet d'indiquer qu'il faut effectuer une comparaison binaire. C'est la valeur par défaut | |
| 1 | vbTextCompare | Cette valeur permet d'indiquer qu'il faut effectuer une comparaison texte. | |
| 2 | vbDatabaseCompare | Cette valeur permet d'indiquer qu'il faut effectuer une comparaison basé sur la base de données. | |
Description
Cette fonction permet de remplacer des sous-chaînes de caractères dans une chaîne de caractères.
Remarques
- La fonction permet de remplacer une sous-chaîne par une autre : La fonction Replace recherche une ou plusieurs occurrences d'une chaîne de caractères dans un texte et les remplace par une nouvelle chaîne. Elle retourne une nouvelle valeur sans modifier la chaîne d'origine. Cette fonction est très utilisée pour nettoyer, corriger ou reformater des données textuelles.
- Elle peut remplacer toutes les occurrences ou seulement certaines : Par défaut, Replace remplace toutes les occurrences trouvées à partir de la position indiquée. Toutefois, le paramètre optionnel count permet de limiter le nombre maximal de remplacements effectués. Cette possibilité est utile lorsque seule la première ou les premières occurrences doivent être modifiées.
- Le remplacement peut commencer à une position précise : Le paramètre start permet de définir l'emplacement à partir duquel la recherche doit débuter. Les caractères situés avant cette position ne sont pas examinés. Cette fonctionnalité est pratique lorsque seule une partie de la chaîne doit être modifiée.
- Le mode de comparaison est configurable : Le paramètre compare détermine la manière dont les caractères sont comparés. Avec vbBinaryCompare, les majuscules et les minuscules sont considérées comme différentes, tandis que vbTextCompare effectue une comparaison insensible à la casse. Le mode vbDatabaseCompare utilise les règles de tri définies par la base de données Access.
- La chaîne d'origine n'est jamais modifiée : Replace retourne toujours une nouvelle chaîne contenant les modifications demandées. La chaîne passée en paramètre reste inchangée tant que le résultat n'est pas réaffecté à une variable ou à un champ. Cette approche est identique à celle des autres fonctions de manipulation de chaînes en VBA.
- Elle est très utilisée pour nettoyer les données importées : Lors de l'importation de données provenant de fichiers texte, de feuilles Excel ou d'autres systèmes, Replace permet de supprimer ou de remplacer rapidement certains caractères. Elle peut notamment remplacer des espaces multiples, des séparateurs, des symboles ou des caractères spéciaux. Cette fonction facilite ainsi la normalisation des données.
- Elle peut être combinée avec d'autres fonctions de chaînes : Replace est fréquemment utilisée avec Trim, LTrim, RTrim, Left, Right, Mid, Len, LCase ou UCase. Ensemble, ces fonctions permettent de réaliser des traitements textuels très complets. Elles sont largement employées dans les applications de gestion et les procédures d'importation.
- Elle est disponible dans les requêtes et dans le code VBA : La fonction Replace peut être utilisée dans les requêtes SQL, les formulaires, les états, les macros ainsi que dans les modules VBA. Elle permet d'effectuer directement des substitutions de texte dans les expressions Access. Son comportement est identique quel que soit le contexte d'utilisation.
- Si la chaîne recherchée est absente, le texte est retourné tel quel : Lorsque la sous-chaîne spécifiée dans le paramètre find n'est pas trouvée, Replace ne génère aucune erreur. Elle retourne simplement la chaîne d'origine sans modification. Ce comportement facilite l'écriture de traitements robustes qui n'ont pas besoin de vérifier au préalable la présence du texte recherché.
- La fonction est compatible avec toutes les versions modernes de Microsoft Access : La fonction Replace est disponible depuis les premières versions de Microsoft Access intégrant VBA et son fonctionnement est demeuré stable au fil des années. Elle est compatible avec Access 2000, Access XP, Access 2003, Access 2007, Access 2010, Access 2013, Access 2016 ainsi qu'avec Microsoft 365. Cette stabilité garantit que les applications utilisant cette fonction continueront de fonctionner correctement lors des migrations vers des versions plus récentes d'Access.
Exemple
Voyons comment utiliser la fonction Replace dans Microsoft Access :
Replace("alphabet", "bet", "hydro")
Résultat: "alphahydro"
Replace ("alphabet", "a", "e")
Résultat: "elphebet"
Replace("alphabet", "a", "e", 2)
Résultat: "lphebet"
Replace("alphabet", "a", "e", 1, 1)
Résultat: "elphabet"
Exemple de code VBA
La fonction Replace peut être utilisée dans le code VBA de Microsoft Access.
Par exemple :
Dim LResult As String
LResult = Replace ("alphabet", "a", "e")
Dans cet exemple, la variable appelée LResult contiendrait désormais la valeur «elphebet».
Dernière mise à jour : Mardi, le 28 juillet 2015