Ajouter un backslash en fin de chemin
Quand on manipule les chemins de fichiers, on est souvent amené à concaténer des « bouts de chemins » à des noms de fichiers. Et dans le processus, il y a toujours un
qui doit figurer en fin de chemin.
D’où ce test fréquent : « si le chemin ne se termine pas par un \
, alors ajouter le \
« . Voici une petite fonction sans prétention qui devrait éviter de réécrire le test systématiquement.
Le code
1 2 3 4 5 6 7 8 9 10 11 12 13 |
' --- ' AJOUT D'UN EN FIN DE CHEMIN ' --- ' Entrée : strFolder <- Chemin à retraiter. ' Sortie : Chemin avec ajouté à la fin si nécessaire. ' Function AddBackslash( _ ByVal strFolder As String) As String strFolder = Trim(strFolder) If Right(strFolder, 1) <> "\" Then strFolder = strFolder & "\" AddBackslash = strFolder End Function |
Mode d’emploi
Pour utiliser cette fonction, vous lui transmettez un chemin (sans le nom de fichier final). La fonction vous renvoie le même chemin, avec un ajouté à la fin, si nécessaire. Par exemple :
1 2 3 4 5 6 |
Dim strChemin As String Dim strImage As String strChemin = "C:\Users\Hervé\Documents" strImage = AddBackslash(strChemin) & "photo.jpg" MsgBox strImage |
Le chemin final de l’image sera bien C:\Users\Hervé\Documents\photo.jpg
. Bien sûr, l’exemple du dessus fausse un peu le jeu. Imaginez plutôt que strChemin
a été lu dans une table, et qu’on ne sait pas si le chemin se termine par \.
N’en manquerai t il pas encore un, ligne 11 du code? 🙂
Si, si. Il faut que je dorme un peu, moi ! 🙂
Ça devrait être corrigé maintenant… M’enfin, je dis ça… 🙂
Bonsoir je suis a ma première fois pour commenter et j’avoue qu’on ne peut que vous remerciez pour tout ce travail et surtout je profite pour pour poser une question sur la bonne gestion d’une base de données et bonne gestion des requêtes ainsi que les formulaires
Si j’ai suivi : une bonne gestion repose sur une bonne organisation. Dans Access, ça peut vouloir dire :
Je ne sais pas si c’est le type d’info que tu cherches… ?
Il doit y avoir un soucis avec le code car aucun « \ » n’est affiché dans le code.
Cordialement.
Merci pour le retour (c’est un bug dû à la mise à jour récente du site).
J’ai rectifié le code, ça devrait être bon maintenant.