Correction d'adresse postale dans une cellule |
Titre du sujet : Correction d'adresse postale dans une cellule par Althéa le 05/03/2014 13:29:33 Bonjour, Je dois créer un tableau, qui reprend les coordonnées de nombreuses personnes. Mon fichier doit être envoyé à différentes entités et aucune ne respecte les règles de remplissage que je lui demande (nom en majuscule, prénom avec la première lettre en majuscule et le reste en minuscule....).
En cherchant sur le site, j'ai trouvé comment forcer la saisie en majuscule avec la fonction éponyme et j'utilise également la fonction NOMPROPRE.
Toutefois, j'aimerais que dans le champ "Adresse" de mon tableau, il n’y ait pas de majuscules aux mots « rue », « avenue », etc., ni aux articles « du », « de », etc.
Une adresse doit donc ressembler à : 12 rue de la Paix et non pas 12 Rue De La Paix (que j’obtiens avec la fonction NOMPROPRE).
J’ai donc trouvé sur internet la fonction suivante :
Function NomPropre2(nom As String) temp = Application.Proper(nom) tbl = Array("De ", "Du ", "Des ", "Le ", "La ", "À ", "En ", "Au ", "Bis ", "Ter ", "D'", "L'", "Aux ", Rue ", "Avenue ", "Boulevard ", "Place ", "Allée ") For i = 0 To UBound(tbl) temp = Replace(temp, tbl(i), LCase(tbl(i))) Next i '--- p = InStr(temp, "'") ' position de ' If p > 0 Then If Mid(temp, p - 2, 1) <> " " Then Mid(temp, p + 1, 1) = LCase(Mid(temp, p + 1, 1)) End If End If NomPropre2 = temp End Function
Cette fonction marche bien, mais pour cela je dois passer par une autre feuille, alors que les fonctions « MAJUSCULE » ou « NOMPROPRE » font la correction automatiquement dans la cellule que je complète.
Est-il possible de faire que la saisie soit corrigée automatiquement ? Je voudrais que le fichier que j’envoie ne comporte qu’un seul onglet.
J’espère que ma demande est claire et que vous connaissez un moyen de m’aider.
Je vous en remercie par avance.
Althéa |
Forums