Execution de macro avec condition

lolobegoood Messages postés 2 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 21 juillet 2006 - 21 juil. 2006 à 20:38
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 22 juil. 2006 à 12:18
Bonjour à tous,

J'ai réalisé une macro qui permet d'enregistrer directement sur le bureau un document excel. (rien de bien compliqué lol)
Le hic c'est que je travail dans sur environnement ou les utilisateurs s'identifient pour acceder à leur bureau . du coup cela vient modifier l'extention de destination.

Aussi je voudrais savoir comment faire pour intégrer une condition dans ma macro pour que si elle ne trouve pas le bon chemin d'accès elle bascule sur un autre chemin ?
En gros j'ai surligner le bug.
ActiveWorkbook.SaveAs Filename:_<?xml:namespace prefix o ns = "urn:schemas-microsoft-com:office:office" /??>

        "E:\Documents and Settings\Mon Lolo\Bureau\Mon Nouveau Retroplanning.xls", _

        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _

        ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

Voila si vous avez la moindre idée ?
Je suis tout ouiiiiiiiiiiiiii

Merci à vous

3 réponses

lolobegoood Messages postés 2 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 21 juillet 2006
21 juil. 2006 à 20:40
NB il s'agit juste de l'extention "Mon Lolo"
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
21 juil. 2006 à 23:18
Salut,


Tu n'as juste qu'a récupérer le nom du User.


Donc dans un Module tu colles ce code et la déclaration de l'API



Option Explicit



Private Declare Function apiGetUserName Lib "advapi32.dll" _
    Alias "GetUserNameA" (ByVal lpBuffer As String, nsize As Long) As Long



Public Function FindUserName() As String
   Dim strName As String
     strName = Space$(512)
     apiGetUserName strName, Len(strName)
     FindUserName = Trim$(strName)
End Function
Ensuite tu lances ta sauvegarde comme ci-dessous
ActiveWorkbook.SaveAs Filename:= _
   "E:\Documents and Settings" & FindUserName & "\Bureau\Mon Nouveau Retroplanning.xls", _

   FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??>







Cordialement, Jean-Paul  

______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
22 juil. 2006 à 12:18
Salut,

Il me semble que l'on peut récupérer le nom utilisateur sans API :
NomUtilisateur = Application.UserName

++
0
Rejoignez-nous