Enregistrement de fichier vba avec variable

[Résolu/Fermé]
Signaler
-
 Utilisateur anonyme -
Bonjour,

je souhiaterai coder un enregistrement automatique de fichier via vba pour excel à un endroit précis de mon ordinateur et lui donner comme nom final : BRP( partie fixe qui ne changera jamais) et une variable qu'il peut trouver en j2 de mon fichier généré.
La partie du code qui ne va pas est la suivante:

  ActiveWorkbook.SaveAs Filename:= _
        "c:\GESTION\"BRP"\" & Range("j2").value & ".xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False


en effet quand je lance la macro, une alerte me signifie directement:

"erreur de compilation: erreur de syntaxe"

etant un plus que débutant en la matiere de vba je me permets de vous demander votre aide. J'ai bien essayé de regarder sur le net si quelqu'un avait déjà posé la question mais n'ai pas réussi à le coder avec le résultat de mes recherches.

Merci par avance de votre aide.


5 réponses

Bonjour Lupin,

merci de ton aide mais cette fois-ci j'ai un message qui dit:

" Erreur d'execution '1004':
La méthode 'SaveAs' de l'objet'_Workbook' a échoué"

Cdt,

Vincent
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

re:

en plaçant un point d'arrêt sur la ligne :

ActiveWorkbooks.SaveAs ...

Place ton curseur sur la variable NomFichier

Son contenu est-il cohérent ?

tu pourrais être aussi plus explicite :

NomFichier = "C:\GESTION\BRP\" & Sheets("Feuil1").Range("j2").Value & ".xls"

Cdt

Lupin
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 335
Bonjour,

ce sont les guillemets dans ta déclaration autour de BRP qui font tout foirer !

Essaie avec
 ActiveWorkbook.SaveAs Filename:= _ 
        "c:\GESTION\BRP" & Range("j2").value & ".xls", _ 
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ 
        ReadOnlyRecommended:=False, CreateBackup:=False

Cordialement.
Ce mec la n'était pas une lumière, car il était niais.
ok merci beaucoup pour le coupe de main ça marche du tonnerre!
bonne journée!!
excuse moi d'y revenir mais j'ai été un peu rapide en te disant que ca marche du tonnerre, puisque le résultat est que la variable en j2 n'apparait pas dans le nom du fichier enregistré.

Donc je n'ai plus de message d'erreur sur la syntaxe mais le nom de mon fichier n'est pas le bon...

Merci quand même!

Bonjour,

Diviser pour règner :

Option Explicit

Sub Sauvegarde()

    Dim NomFichier As String
    
    NomFichier = "C:\GESTION\BRP\" & Range("j2").Value & ".xls"

    ActiveWorkbook.SaveAs Filename:=NomFichier, _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False

End Sub


passer par une variable, n'a jamais fait de mal :-)

Cdt

Lupin