#1 Tue 30 January 2007 09:13
- Trotamundos
- Participant assidu
- Lieu: Geneva
- Date d'inscription: 16 Jan 2007
- Messages: 230
ArcGIS 9.2 - Manipulation de label en VBScript
Bonjour,
Sous ArcGIS 9.2, je cherche un petit VBScript me permettant d'affiner mes labels. Par exemple, mon attibut est MOSCOW et je cherche à l'indiquer sur la carte en Moscow, avec la première lettre en majuscule et le reste en minuscule. J'arrive facilement à tout mettre en majuscule ou minuscule mais pas avec une seule lettre en majuscule. Je pense qu'il faut concaténer mais je ne sais pas comment, en VB, extraire le premier caractère d'un string et ensuite concaténer le reste. Par extension, comment pourrais-je effectuer la même manip mais avec un champ attributaire comprenant plusieurs mots, par exemple, SAINT PETERSBURG en Saint Petersburg. Là, il s'agit encore en concaténer mais aussi de manipuler un deuxième mot. Si un expert en VB pour m'aider, merci...
Hors ligne
#2 Tue 30 January 2007 12:21
- nicolas valls
- Participant assidu
- Date d'inscription: 28 Oct 2005
- Messages: 154
Re: ArcGIS 9.2 - Manipulation de label en VBScript
Bonjour, vous pouvez tester ça :
Ucase(left(champ,1)) & lcase(right(champ,len(champ)-1))
en espérant que ça marche
Pour ce qui est des noms composé c'est un peu plus complexe, il faudrait le découper en plusieurs variables (autant que de mots) et se servant de l'espace pour repérer la coupure
Par exemple en mode avancé
function FindLabel([champ])
dim position_espace as byte, variable1 as string, variable2 as string, resultat as string
position_espace=instr([champ]," ") 'je récupére la position de l'espace
variable1 = left([champ],position_espace-1) ' je recupére le premier mot
variable1=Ucase(left(variable1,1)) & lcase(right(variable1,len(variable1)-1)) 'je met en majuscule la première lettre et en minuscule les autres
variable2=right([champ],len([champ])-position_espace)
variable2=Ucase(left(variable2,1)) & lcase(right(variable2,len(variable2)-1))
resultat= variable1 & " " & variable2
FindLabel=resultat
end function
Je pense que ca devrait marcher
Dernière modification par nicolas valls (Tue 30 January 2007 12:33)
Hors ligne
#3 Wed 24 April 2013 16:13
- Razorbak
- Participant assidu
- Lieu: Clermont Ferrand
- Date d'inscription: 7 Oct 2007
- Messages: 505
Re: ArcGIS 9.2 - Manipulation de label en VBScript
Bonjour,
Je reviens sur le sujet car je vais bientôt être confronté au même problème.
J'ai donc testé la solution pour des noms simples et ça fonctionne parfaitement.
Par contre, pour les noms composés, j'obtiens un message d'erreur du type "L'expression contient une erreur".
Sauf que je ne sais pas où elle se trouve...
Si quelqu'un a la solution, je suis preneur. Merci
Bonne journée
Hors ligne
#4 Wed 24 April 2013 19:59
- Kevin Jousseaume
- Participant assidu
- Lieu: Nanterre, région parisienne
- Date d'inscription: 20 Mar 2006
- Messages: 217
Re: ArcGIS 9.2 - Manipulation de label en VBScript
Bonjour,
Je pense que vous trouverez votre bonheur ici : http://georezo.net/forum/viewtopic.php?id=84678
Bonne soirée,
Kevin
Hors ligne