En fait, je parle des valeurs renseignées dans la fonction Left et Mid que j'ai changé par rapport à l'exemple que je t'avais donné.
Si je t'explique plus en détail ce qui est fait sur la ligne
nomf = Left(ActiveWorkbook.Path,1) & Mid(nomf, 2)
tu comprendras mieux
En fait à la base ta variable nomf c'est "Y:\Indicateur\OTD\Outil de calcul OTD\Calcul OTD ms query\extraction de donnée clipper premiere partie.xlsm"
Le but c'est d'enlever le Y et de le remplacer par le lecteur qu'utilise la personne lançant le programme
Pour ce faire tu fais ceci :
Tu vas chercher la lettre du lecteur utilisé en prenant la première du chemin où est enregistré le classeur de la macro via un Left(ActiveWorkbook.Path,1)
ActiveWorkbook.Path ça devrait te renvoyer un truc comme ça : Y:\Documents\UnDossier\Unautredossier\ ...
Le Left(ActiveWorkbook.Path,1) va te donner la première lettre du chemin en partant de la gauche (le 1), ce que je veux dire c'est que tu as juste besoin du Y, le : qui suit, tu t'en fiches, tu as le même dans le nom du fichier.
Quand au mid, il repprend tout le nom du fichier en partant du deuxième caractère, le : du nom du fichier.
En gros tu remplaces le Y de ton nom de fichier par la lettre du lecteur dans lequel est enregistré le classeur contenant ta macro, pas besoin de remplacer le : par un autre : en faisant un Left (,2) et un Mid(,3), c'est simplement ce que je voulais dire
dhany :
Pas bête
Mais je ferais plutôt ça du coup, pas toi?
Mid$(nomf, 1, 1) = Left(ActiveWorkbook.Path,1)