AmelCres
Messages postés12Date d'inscriptionsamedi 8 mars 2008StatutMembreDernière intervention28 mai 2008
-
28 mai 2008 à 17:29
AmelCres
Messages postés12Date d'inscriptionsamedi 8 mars 2008StatutMembreDernière intervention28 mai 2008
-
28 mai 2008 à 19:34
Bonjour ,
Je dois créer une macro qui me permet d'avoir un nouveau classeur avec un nom demandé auparavant à l utilisateur.
Or, je ne sais pas comment faire pour que le nom de ce classeur puisse être différent à chaqueappelle de cette macro.
Voici le code :
Dim nom As String
nom = InputBox("Quel est le nom du produits structuré?", "Bonjour")
pour ton probleme c'est pas tres claire... si tu dmandes a l'utilisateur d'entrer un nouveau nom, comme je vient de le dire c'est un nouveau nom donc different !
Par contre peut etre a tu besoin de verifier que le nom donné par l'utilisateur n'est pas un nom deja existant dans le repertoire dans le quel tu veux creer ce nouveau fichier.
Pour cela, vois ce que j'ai ajouté ou modifié en bleu :
Dim nom As String, ChDir As String, TestNom As String
ChDir = "C:\Documents and Settings\crespelam\My Documents"
Do
nom = InputBox("Quel est le nom du produits structuré?", "Bonjour")
TestNom = Dir(ChDir & nom)
if TestNom = "" then 'dans ce cas cela veut dire que le nom n'existe pas
Workbooks.Add
Application.Run "GetToolbarButtonsStatus"
ActiveWorkbook.SaveAs Filename:= ChDir & nom, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
Enif If
' on boucle jusqu'a ce que
l'utilisateur ai entré un nom qui n'existe pas dans le repertoire de
destination ou
' que nom = exit pour eviter de rester coincé dans la boucleLoop Until TestNom "" or nom "exit"
Il faut savoir aussi qu'il existe sous VBA une fonction qui permet de recuperer la valeur des variables d'environnement et qu'il existe aussi une variable d'environnemnt sous XP en tout cas, qui contient deja une partie du chemin du repertoire Mes documents de l'utilisateur loger. Cette variable s'appele : USERPROFILE. et renvoi par exemple pour toi : C:\Documents and Settings\crespelam . Donc aulieu d'ecrire :
ChDir = "C:\Documents and Settings\crespelam\My Documents"
tu peux remplacer par :
ChDir = Environ("USERPROFILE") & "\My Documents"
ce qui permetra a ta macro de fonctionner quelque soit l'utilisateur