Bonjour/Bonsoir à tous,
Voici mon problème :
J'ai créé un programme VBA qui, en fonction de critères entrés, formate un lien URL pour sortir une base de données .csv
Le lien est de la forme suivante : http://[nom du site]/export.[...]&f= [critère 1] , [critère 2] , [critère n]&ft=4
Pour définir le lien, l'utilisateur choisi les valeurs des critères 1, 2, ..., n via des menus déroulants. En fonction du numéro associé dans la cellule liée, je fais appel à des variables invisibles à l'utilisateur pour formater le lien en fonction du choix de critères.
Ma variable URL est donc de cette forme :
URL = "http:// <etc> &f=" & critère1 & "," & critère2 & "," & critèren & "&ft=4"
Mon soucis est qu'il y a des virgules entre chaque critère dans le lien URL.
Ainsi, si tous mes critères ne sont pas sélectionnés (c'est généralement le cas), il y a des virgules en trop.
Par exemple, si aucun critère n'est sélectionné, le lien ressemble à celà :
http://[nom du site etc]&f=,,,,,,&ft=4
J'ai donc pensé ajouter, dans le nom des critères (ceux utilisés pour le lien sont cachés à l'utilisateur), les virgules.
Au lieu que celles-ci soient fixes dans mon lien formaté (donc avec l'utilisation des & "," &... pour concaténer), elles seront ajoutées dans le nom des variables.
Seulement, je n'arrive pas à trouver de solution afin qu'il n'y a pas de virgule en trop, ou alors pas assez.
Si je décide de mettre une virgule avant chaque nom de variable (pour que ça apparaisse dans l'URL), je me retrouve avec une virgule en trop au début (avant le critère 1). Et inversement évidemment avec le dernier critère si je mets les virgules à la fin du nom des variables.
C'est surtout une question de logique, pas vraiment de code complexe à élaborer je pense. Mais je ne trouve vraiment pas après plusieurs tentatives différentes.
Quelqu'un aurait une idée ?
J'espère avoir fourni suffisamment d'éléments, cependant si vous avez des questions afin que je précise mon problème n'hésitez pas.
En vous remerciant d'avance pour votre lecture et les diverses réponses qui y seront apportées.
Cordiales salutations,
Alexandre.