Bonjour,
j'ai une chaine de caractère qui peut contenir une adresse sous plusieurs forme, exemple :
45 Rue des lilas
Hotel de ville (R. Hugo)
Mc donalds (AV. Mitterand)
Rue kennedy (X arrondissement)
j'utilise après cet adresse pour réaliser une itinéraire sur microsoft mappoint,
pour la première adresse pas de soucis c'est clair
par contre pour la deuxième et troisième, l'adresse est entre parenthèse devant figure l'établissement ou le lieu public, et dans ces cas il me faut l'adresse entre parenthèse (seulement lorsque j'ai AV. ou R.) car dans le dernier exemple je dois supprimer "(X arrondissement)" car l'adresse est devant.
alors j'ai concocté une petite fonction qui permet si il y a présence de "(" avec "R." ou "AV." de recupére alors l'adresse entre parenthèse:
LE PROBLÈME c'est ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Public Function adresse_mod(ByVal adresse As String) As String 'Dim par_r As String = adresse.IndexOf("R.") 'Dim par_av As String = adresse.IndexOf("AV.") 'Dim par_pl As String = adresse.IndexOf("PL.") Dim debut_par As Integer = adresse.IndexOf("(") Dim fin_par As Integer = adresse.IndexOf(")") Dim par_r As Integer = adresse.IndexOf("R.") Dim par_av As String = adresse.IndexOf("AV.") Dim par_pl As String = adresse.IndexOf("PL.") If debut_par > -1 And par_r > -1 Or par_av > -1 Or par_pl > -1 Then Return adresse.Substring((debut_par + 1), (fin_par - 1)) Else Return adresse End If End Function
????L'index et la longueur doivent faire référence à un emplacement situé dans la chaine
Nom du paramètre : length
Partager