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 :

VBA Enregistrement au format excel + envoi mail [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2024
    Messages : 3
    Par défaut VBA Enregistrement au format excel + envoi mail
    Bonjour à tous,

    J'ai récupéré une VBA qui me permet d'enregistrer sur réseau et d'envoyer par mail d'une feuille Excel en PDF

    'Enregistrement du document
    Chemin = "F:\public\Bureau\" & Range("C4") & " " & Range("C5").Value & "\"
    Fichier = Range("C1") & " " & Range("D1") & " " & Range("C4") & " " & Range("C5") & " " & ".pdf"
    'Recherche si le dossier existe et création si non.
    If Dir(Chemin, 16) = "" Then MkDir Chemin
    'ActiveWorkbook.SaveAs Chemin & Fichier

    'Enregistrer la feuille en PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Chemin & Fichier, _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

    Il fonctionne bien mais j'ai essayé de modifier ce code, mon but est de faire exactement la même chose mais en restant sur un format Excel d'une feuille avec sa zone d'impression

    En vous remerciant d'avance

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Salut, teste ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'Enregistrement du document
    Chemin = "F:\public\Bureau\" & Range("C4") & " " & Range("C5").Value & "\"
    Fichier = Range("C1") & " " & Range("D1") & " " & Range("C4") & " " & Range("C5") & " " & ".xlsx"
    'Recherche si le dossier existe et création si non.
    If Dir(Chemin, 16) = "" Then MkDir Chemin
     
    'Enregistrer la feuille en format Excel
    ActiveSheet.Copy 
    ActiveWorkbook.SaveAs Filename:=Chemin & Fichier, FileFormat:=xlOpenXMLWorkbook
    ActiveWorkbook.Close SaveChanges:=False

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2024
    Messages : 3
    Par défaut
    Bonjour Franc,
    Top les modifications fonctionnent
    J'ai deux points :
    1- Lorsque le l'enregistrement j'ai un message
    Nom : Capture.PNG
Affichages : 74
Taille : 34,6 Ko
    Pas besoin de macro sur le fichier qui s'enregistre, un format juste excel classic suffit
    2- Aujourd'hui mon fichier lors de l'enregistrement écrase l'ancien fichier, serait-il possible de garder l'historique en mettant des (2), (3) etc... sur le nom du fichier?

  4. #4
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Bonjour, pour le point 1 je ne vois pas où est le problème, j'ai testé et tout se passe bien, les fichiers sont sauvés au format .xlsx sans le moindre message.
    Pour le point 2, voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    'Enregistrement du document
    chemin = "F:\public\Bureau\" & Range("C4") & " " & Range("C5").Value & "\"
    fichierBase = Range("C1") & " " & Range("D1") & " " & Range("C4") & " " & Range("C5") & " " & ".xlsx" 'Changez l'extension en .xlsx
    'Recherche si le dossier existe et création si non.
    If Dir(chemin, 16) = "" Then MkDir chemin
     
    'Vérifiez si le fichier existe déjà et ajoutez un numéro à la fin si nécessaire
    i = 1
    fichier = fichierBase & ".xlsx"
    While Dir(chemin & fichier) <> ""
        fichier = fichierBase & " (" & i & ")" & ".xlsx"
        i = i + 1
    Wend

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2024
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2024
    Messages : 3
    Par défaut
    Franc,

    Ca marche très je comprends votre démarche
    Par contre pour le point 1 :
    A la base mon fichier est en format "xlsm" j'ai juste changé mon enregistrement en "FileFormat:=xlOpenXMLWorkbookMacroEnabled" pour passer du "xlsx" vers "xlsm" du coups je n'ai plus le message

    Du coups tout fonctionne parfaitement

    Sincèrement merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VBA excel : envoi mail auto d'un modèle IBM notes
    Par davidm76200 dans le forum Lotus Notes
    Réponses: 0
    Dernier message: 27/08/2015, 11h33
  2. Réponses: 2
    Dernier message: 31/07/2007, 19h27
  3. [VBA]enregistrer en fichier excel en macro
    Par jazziestan dans le forum SDK
    Réponses: 12
    Dernier message: 29/12/2006, 10h07
  4. Réponses: 2
    Dernier message: 04/09/2006, 20h53
  5. [VB6] Executable automatisation macro excel + envoi mail
    Par jyrki69 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 04/05/2006, 18h13

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