Je dois enregistrer un fichier dont le nom contient des espaces aléatoires.
C'est en Excel Vba. Après une heure de recherche sur Internet, je n'ai trouvé que des suggestions pour remplacer l'espace par %20 ou éviter les espaces dans le nom du fichier. J'ai essayé d'ajouter des guillemets ou de mettre %20 sans succès.
Le fichier produit est destiné à être exporté vers un système patrimonial, changer les noms ou remplacer l'espace par un autre caractère n'est pas une option. .
De plus, les espaces ne sont pas nécessairement au même endroit et j'aimerais éviter de mettre une déclaration Case pour 20 noms différents.
Voici le morceau de code qui me pose problème.
Savepath=range("a1").value
NameOfFile=range("a2").value
FullnameSave=savepath & "\"& NameOfFile & ".xlsm"
ActiveWorkbook.SaveAs Filename:=FullNameSave, FileFormat:=xlOpenXMLWorkbookMacroEnabled
Tout fonctionne bien, sauf lorsqu'il y a un espace quelque part dans FileName.
Par exemple, si la valeur en A2 est Prix standard le fichier est bien sauvegardé, s'il est prix standard Je reçois une erreur (erreur 1004 sur la méthode SaveAs). Par ailleurs, si je code le nom en dur comme suit, cela fonctionne.
FullnameSave=savepath & "\" & "standard price" & ".xlsm"
J'ai essayé d'ajouter 2, 3, 4 et même 5 guillemets autour du nom du fichier mais il ne retourne jamais le format correct (qui serait quelque chose comme H:\Pip_Import\ImportTests2016 -10\"prix standard"