Excel 2010 Macro - chemin enregistrement

Bonjour à tous,

je viens vers vous car je n'arrive pas à trouver la solution à mon problème. J'ai pourtant essayé plein de solutions expliquées sur le forum mais rien n'y fait. Mon niveau peu avancé en VBA doit y être pour quelque chose.

J'ai réalisé une macro qui crée un fichier excel à partir d'un fichier de base. Et je souhaite que ce fichier en question soit enregistré directement sur le bureau de l'utilisateur qui génère la macro. C'est cette manipulation que je n'arrive pas à réaliser.

Pouvez-vous m'indiquer comment procéder ?

Voici ma macro de base :

Sub Export_des_listes()
'
' Export_des_listes Macro
' Cette macro permet d'exporter les données contenues dans les onglets "Electeur","Eligibles" et "Effectif" vers un nouveau classeur excel.
'
Dim nom_fichier As String

'
    Workbooks.Add
        nom_fichier = Range("A3")
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\thomas.palisse\Desktop\" & nom_fichier & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

J'ai, entre autre, essayé de remplacer "User\thomas.palisse" par "%homepath%", "%username%" ou "%userprofil%" mais cela ne fonctionnait pas.

Merci à vous.

Bonne journée.

Thomas.

PS: si vous avez des remarques sur le fond ou la forme de mon message, je suis preneur.

Bonjour,

A tester.

Option Explicit

Sub Export_des_listes()
'
' Export_des_listes Macro
' Cette macro permet d'exporter les données contenues dans les onglets
'"Electeur","Eligibles" et "Effectif" vers un nouveau classeur excel.
'
Dim wb As Workbook
Dim nom_fichier As String

    Set wb = ThisWorkbook
    nom_fichier = wb.Worksheets("Feuil1").Range("A3")
    Workbooks.Add
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Users\thomas.palisse\Desktop\" & nom_fichier & ".xlsx" _
        , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

    Set wb = Nothing

End Sub

Bonjour

Pourquoi l'instruction workbook.add ??

Je suppose que tu as un fichier dont tu veux faire une copie en utilisant le nom trouvé en cellule A3

Donne tes explications et je te postes le code que je viens de préparer

A te relire

Edit : désolé Jean Eric j'avais pas vu ton post....

Re,

Bonjour Dan,

Je n'ai pas tout compris moi-même.

Mais l'enregistrement fonctionne

Cdlt.

Bonjour Dan, Bonjour Jean-Eric,

A Jean-Eric : cela fonctionne. Mais je me demande si avec cette solution le fichier sera enregistré sur mon bureau au lieu de l'enregistrer sur le bureau de l'utilisateur qui génère la macro.

A Dan : Oui c'est exactement ça.

Merci à vous deux.

Cordialement

Thomas.

Je précise simplement que ma macro de base fonctionne très bien, elle génère les informations souhaitées et s'enregistre sur mon bureau sous le nom souhaité.

Mon but étant de ne plus l'enregistrer sur mon bureau mais sur le bureau de l'utilisateur qui lancera la macro. Sachant que cet utilisateur ne sera pas le même à chaque fois.

Thomas.

re,

essaie ceci :

Sub Export_des_listes()
'
' Export_des_listes Macro
' Cette macro permet d'exporter les données contenues dans les onglets
'"Electeur","Eligibles" et "Effectif" vers un nouveau classeur excel.
'
Dim nom_fichier As String, chemin As String, nom As String

nom = thomas.palisse
nom_fichier = ThisWorkbook.Worksheets("Feuil1").Range("A3")
chemin = "C:\Users\" & nom & "\Desktop\"

ThisWorkbook.SaveAs Filename:=chemin & nom_fichier & ".xlsm", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub

En supposant que le nom est sur l'onglet appelé "Feuil1"

Si ok, veille à cloturer le fil en cliquant sur le v vert à coté du bouton EDITER

Crdlt

Cela fonctionne, c'est parfait.

Merci beaucoup.

Bonne journée.

Thomas.

Rechercher des sujets similaires à "2010 macro chemin enregistrement"