IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro qui enregistre une feuille excel avec extension (.bat)


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Points : 35
    Points
    35
    Par défaut Macro qui enregistre une feuille excel avec extension (.bat)
    Bonjour,

    J'aimerai savoir s'il est possible d’enregistrer une feuille Excel au format (.bat) à l'aide d'une macro ?

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Tu peux même lui donner l'extension patate mais ça n'en fera pas une patate.

    Précises ce que tu veux faire exactement.

  3. #3
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Salut,

    Voici un petit code (en partie fait avec l'enregistreur de macro ...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Sub Macro1()
    '
    '
    '
        Dim chemin As String
        'création d'un nouveau classeur avec la feuille active
        ActiveSheet.Copy
        'modifier pour indiquer où le fichier doit être enregistrer
        chemin = "C:\Users\jerome\Desktop"
        'enregistrement du fichier (attention avec cette extention le pc ne reconnaitra pas que c'est
        'un fichier Excel ...
        ActiveWorkbook.SaveAs Filename:=chemin & "\toto.bak", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        'Fermeture du fichier (otionnel)
        ActiveWindow.Close
    End Sub
    Deux remarques :
    Je suppose que tu veux enregistrer en .bak (backup) et non .bat.
    Ceci dit, comme indiqué dans le code en commentaire, avec cette extension, pour ton PC, le fichier généré n'est pas reconnu comme fichier Excel.

    A la fin de la macro, je ferme le fichier. Comme çà l'utilisateur peut continuer à travailler sur le fichier original sans se rendre compte de cette opération de sauvegarde.
    Jérôme

    " Je pense donc je suis. Tu es donc j'apprends ". (GCM)

    Si ce message vous à aidé, merci de cliquer sur . Si ce message est résolu, cliquez sur .

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par jerome.vaussenat Voir le message
    Salut,

    Deux remarques :
    Je suppose que tu veux enregistrer en .bak (backup) et non .bat.
    Ceci dit, comme indiqué dans le code en commentaire, avec cette extension, pour ton PC, le fichier généré n'est pas reconnu comme fichier Excel.

    A la fin de la macro, je ferme le fichier. Comme çà l'utilisateur peut continuer à travailler sur le fichier original sans se rendre compte de cette opération de sauvegarde.
    Re,

    Il s'agit bien de fichier .bat, par exemple dans mon classeur j'ai 4 feuille Excel que j'aimerai enregistrer au format .bat dans le dossier ou se trouve ma macro.

  5. #5
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Si tu veux parler d'un fichier de batch de commandes MS-DOS, il faut l'enregistrer avec un SaveAs en choisissant xlTextMSDOS comme valeur du paramètre FileFormat.
    Pour ce qui est de l'extension, il suffit de la mettre dans le nom de fichier.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Si tu veux parler d'un fichier de batch de commandes MS-DOS, il faut l'enregistrer avec un SaveAs en choisissant xlTextMSDOS comme valeur du paramètre FileFormat.
    Pour ce qui est de l'extension, il suffit de la mettre dans le nom de fichier.
    Oui c'est exactement ça.

    D'ailleur petite question, quel est le type de format pour obtenir une extension en .enr ?

    Voici ce que j'ai fait jusqu’à présent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Worksheets("date").SaveAs FileName:=NomFich & "\date.bat", _
            FileFormat:=xlTextMSDOS, CreateBackup:=False
    Message d'erreur :

    Impossible d'accéder à "date" le fichier peut être endommagé, en lecture seule ou enregistré sur un serveur qui ne répond pas

  7. #7
    Expert confirmé Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Points : 4 299
    Points
    4 299
    Par défaut
    Re,

    Et il y quoi dans la variable NomFich ???

    Pose un point d'arret ou met un espion sur la variable pour en être sûr ...
    Jérôme

    " Je pense donc je suis. Tu es donc j'apprends ". (GCM)

    Si ce message vous à aidé, merci de cliquer sur . Si ce message est résolu, cliquez sur .

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Sans emploi - Autonome
    Inscrit en
    Mars 2018
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sans emploi - Autonome

    Informations forums :
    Inscription : Mars 2018
    Messages : 130
    Points : 35
    Points
    35
    Par défaut
    Citation Envoyé par jerome.vaussenat Voir le message
    Re,

    Et il y quoi dans la variable NomFich ???

    Pose un point d'arret ou met un espion sur la variable pour en être sûr ...
    Finalement j'ai résolu mon problème, NomFich correspond au chemin d'accès de mon fichier. Or, je dois lui donner le chemin d'accès de mon dossier.

    Je suis obligé de stocker le chemin complet de mon dossier dans une variable ...

    Cependant lorsque j'ouvre mon fichier .bat, j'ai des guillemets qui se sont installés automatiquement, par exemple :

    • Dans mon fichier excel j'avais : je m'appelle toto
    • Une fois enregistré et quand je l'ouvre : "je m'appelle toto"



    Comment peut-on les enlever ?

  9. #9
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    Sub test()
    NewFichieTxt Split(ThisWorkbook.FullName, ".")(0) & ".BAT", ThisWorkbook.FullName
    Racourci Split(ThisWorkbook.FullName, ".")(0) , ThisWorkbook.FullName
    End Sub
    Sub Racourci(RaccourciName As Variant, Fichier As Variant)
    Set Fso = CreateObject("Scripting.FileSystemObject")
    If Fso.FileExists(RaccourciName & ".Lnk") = True Then
         Fso.DeleteFile RaccourciName & ".Lnk"
    End If
    Set objshell = CreateObject("wscript.shell")
    Set objraccourci = objshell.createshortcut(RaccourciName & ".Lnk")
    objraccourci.targetpath = Fichier
    objraccourci.Save
    Set Fso = Nothing
    Set objraccourci = Nothing
    End Sub
    Public Sub NewFichieTxt(Fichier As String, txt As String)
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set NewFichier = Fso.OpenTextFile(Fichier, 2, True)
    NewFichier.Write txt
    NewFichier.Close
    Set NewFichier = Nothing
    Set Fso = Nothing
    End Sub
    Dernière modification par Invité ; 12/06/2018 à 12h48.

Discussions similaires

  1. [PPT-2013] Bouton avec macro pour ouvrir une feuille Excel PowerPoint 2013
    Par gdmeunier dans le forum Powerpoint
    Réponses: 0
    Dernier message: 27/10/2014, 13h10
  2. [Toutes versions] Macro pour ajouter une feuille excel avec un nom précis
    Par luc-ratif dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/05/2014, 09h53
  3. bouton d'appel d'une macro dans une feuille excel avec défilement
    Par fabrice44 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/01/2008, 15h30
  4. [VBA-E] une macro qui enregistre mon fichier Excel
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/03/2007, 11h47
  5. Insérer une feuille Excel avec macro dans une page HTML
    Par Pakkaï dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/12/2006, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo