Enregistrement de fichier vba avec variable

Résolu
vincent -  
 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

  1. vincent
     
    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
    1. Utilisateur anonyme
       
      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
      0
  2. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    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.
    1
  3. vincent
     
    ok merci beaucoup pour le coupe de main ça marche du tonnerre!
    bonne journée!!
    0
  4. vincent
     
    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!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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
    0