#1 Fri 15 July 2005 14:04
- Le-jeune Laurent
- Invité
minuscules et majuscules
De: Laurent Le Jeune
Bonjour.
Dans une table contenant le nom de commmunes en majuscules, je voudrais afficher ces mêmes noms avec la première lettre en majuscules et les autres en minuscules. Le problème est qu'il y a des noms composés. Avec le script nompropre.cal, que j'ai trouvé sur support.esrifrance.fr, ça ne marche que sur le premier mot.
Exemple: CAMARET-SUR-MER, avec le script nompropre.cal, que j'ai trouvé sur support.esrifrance.fr, ça donne Camaret-sur-mer; moi je veux Camaret-sur-Mer.
De plus, sur des mots comme "sur","le","la","du", on ne doit pas mettre de majuscule sauf quand ils se trouvent au début d'un nom: ex: Pointe de la Torche; Le Guilvinec, Camaret-sur-Mer.
Merci.
#2 Mon 18 July 2005 12:31
- Hervé BOHBOT
- Invité
Re: minuscules et majuscules
De: Laurent Le Jeune
>Exemple: CAMARET-SUR-MER, avec le script nompropre.cal, que j'ai trouvé sur support.esrifrance.fr, ça donne Camaret-sur-mer; moi je veux Camaret-sur-Mer.
Bonjour,
Le fichier nomlieu.cal attaché fait ce travail. Il suffit de modifier le nom de champ que vous voulez utiliser (dans l'exemple [NOM_CHF]).
Une boucle distingue les éléments séparés par "-", " " ou "'" et met leur initiale en majuscule (si l'élément n'est pas dans la liste "de,du,le,la,les,lès,lez,sur,en,des" ou est le premier mot) et le reste en minuscules. Vous pouvez bien sûr modifier ces deux listes.
Hervé
--
passerelle antivirus du campus CNRS de Montpellier
--
---------------------------------------------------------------------
Desinscription: envoyez un message a: arcsig-
Pour obtenir de l'aide, ecrivez a: arcsig-help@ georezo.net
Retrouvez les autres listes du portail geomatique sur http://geomatique.georezo.net
#3 Thu 21 July 2005 16:47
- Laurent Lejeune
- Invité
Re: minuscules et majuscules
De: Laurent Le Jeune
je vous remercie de votre réponse, mais je ne trouve pas ce script nomlieu.cal.
#4 Fri 04 May 2007 16:41
- Hervé Bohbot
- Juste Inscrit !
- Date d'inscription: 4 May 2007
- Messages: 2
Re: minuscules et majuscules
Voila le code du fichier nomlieu.cal :
Dim subStr As String, oldStr As String, newStr As String
Dim Sep As String
Dim i As Integer
oldStr = LCase(Trim( [NOM_CHF] ))
For i = 1 To Len(oldStr)
If InStr("- '", Mid(oldStr, i, 1)) <> 0 Then
If (InStr("de,du,le,la,les,lès,lez,sur,en,des", subStr) = 0) Or (newStr = "") Then
subStr = UCase(Left(subStr, 1)) + Mid(subStr, 2, Len(subStr) - 1)
End If
newStr = newStr + subStr + Mid(oldStr, i, 1)
subStr = ""
Else
subStr = subStr + Mid(oldStr, i, 1)
End If
Next i
newStr = newStr + UCase(Left(subStr, 1)) + Mid(subStr, 2, Len(subStr) - 1)
__esri_field_calculator_splitter__
newStr
Hors ligne
#5 Wed 06 June 2007 13:01
- JR
- Participant occasionnel
- Date d'inscription: 4 Apr 2006
- Messages: 19
Re: minuscules et majuscules
En faisant une recherche sur le forum, je suis tombé sur ce code qui répondrait parfaitement à mon problème. Malheureusement quand je l'intègre dans la calculatrice de valeurs de champ, je reçois un message d'erreur d'execution du code vba et mes piètres connaissances dans ce language ne me permettent pas de le corriger.....une petite idée???
Merci d'avance
Dim subStr As String, oldStr As String, newStr As String
Dim Sep As String
Dim i As Integer
oldStr = LCase(Trim( [NOM_CHF] ))
For i = 1 To Len(oldStr)
If InStr("- '", Mid(oldStr, i, 1)) <> 0 Then
If (InStr("de,du,le,la,les,lès,lez,sur,en,des", subStr) = 0) Or (newStr = "") Then
subStr = UCase(Left(subStr, 1)) + Mid(subStr, 2, Len(subStr) - 1)
End If
newStr = newStr + subStr + Mid(oldStr, i, 1)
subStr = ""
Else
subStr = subStr + Mid(oldStr, i, 1)
End If
Next i
newStr = newStr + UCase(Left(subStr, 1)) + Mid(subStr, 2, Len(subStr) - 1)
__esri_field_calculator_splitter__
newStr
Hors ligne