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

VBA Access Discussion :

Problème - Export Excel avec Mise en forme!


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 32
    Par défaut Problème - Export Excel avec Mise en forme!
    Bonjour,

    J'aimerais exporter une table "prepa_mail" et ses enregistrements sous format excell, avec pour but ensuite d'envoyer automatiquement ce fichier par mail Outlook.

    Le problème c'est qu'avec mon code, le fichier excel ne garde pas les style du fichier excel d'origine, précedemment envoyé (sans utiliser Access). Savez vous comment définir le style du fichier mail en VBA?

    Et aussi certains champs que j'utilise pour sélectionner les bons enregistrements dans prepa_mail, devraient être masquer dans le fichie excel, chose que je n'arrive pas à faire non plus.

    Voici mon code:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
     
    Private Sub Commande198_Click()
     
    Dim prepa_mail As Table
    Dim bReponse As Byte
    Dim MonExcel As Object
    Dim mail As Recordset
    Dim Corps As String
    Dim SQL As String
    Dim DT_envoi As Variant
    Dim DT_Controle As Table
    Dim CmpteDom As Integer
     
     
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "suppr_prepa_mail"
    DoCmd.SetWarnings True
     
    Forms("MP_envoi_mail").Controls("Fille158").Form.Requery
     
     Call creer_excel
     
     
        bReponse = MsgBox("Voulez-vous envoyer le mail ?", vbDefaultButton2 + vbQuestion + vbOKCancel)
    If bReponse = vbOK Then
       DoCmd.SetWarnings False
     
     
        On Error Resume Next
      kill "U:\JOB ORANGE\TIGRE\test.xls"
        On Error GoTo 0
     
     
      Dim db As DAO.Database
    Dim tbl As DAO.TableDef
    Dim fld As DAO.Field
     
    Set db = CurrentDb
    Set tbl = db.TableDefs("DT_Controle_AD")
    Set fld = tbl.Fields("DT_envoi")
     
            fld.DefaultValue = "Non"
     
    Dim rs As Recordset
     
    Set rs = db.OpenRecordset("DT_Controle_MP")
     
    rs.AddNew
     
    rs!date_envoi = Me.date_today
     
    DoCmd.SetWarnings False
    DoCmd.OpenQuery "maj_MP_update"
    DoCmd.SetWarnings True
    'End If
    rs.Update
     
    rs.Close
     
    Set rs = db.OpenRecordset("historique_mail")
     
    rs.AddNew
     
    rs!nom_util = Me.nom_util_3
    rs!nombre_envoi = DCount("*", "prepa_mail")
    rs!date_envoi = Me.date_today
    rs!ui = Me.txt_ui_3
     
    rs.Update
    rs.Close
     
     
    db.Close
     
    Set rs = Nothing
    Set db = Nothing
     
      Dim MonOutlook As Object
      Dim MonMessage As Object
      Set MonOutlook = CreateObject("Outlook.Application")
      Set MonMessage = MonOutlook.CreateItem(0)
     
     
      MonMessage.To = "nicolas.merer@hotmail.fr" ';sametigre.uimp@orange.com"
      'MonMessage.CC =
     
     
      MonMessage.Attachments.Add "U:\JOB \TIGRE\test.xls"
      MonMessage.Subject = "Orange - Envoi des DT à réaliser à la date du " & Date
      Corps = "Bonjour,"
      Corps = Corps & Chr(13) & Chr(10) ' Retour chariot
      Corps = Corps & "Voici le fichier des DT à réaliser, Cordialement."
      Corps = Corps & txt_sign_mail
     
      MonMessage.Body = Corps
     
    MonMessage.Send
     
    Set MonOutlook = Nothing
    Set MonMessage = Nothing
     
     
    CurrentDb.Execute "Delete * FROM prepa_mail"
    Forms("MP_envoi_mail").Controls("Fille158").Form.Requery
    DoCmd.SetWarnings True
     
     
    Else
     
    MsgBox " Le mail n'a pas été envoyé! "
    End If
     
    End Sub
    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Bonjour.

    On ne peut pas "masquer" une donnée en Access dans une source de données.
    Elle est là ou elle ne l'est pas.
    Donc il faut que tu fasses une requête qui ne prend que les enregistrements que tu veux voir dans ton Excel.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 410
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 410
    Par défaut
    Évidement tu peux aussi faire du code pour modifier la présentation des données dans le Excel.
    Mais ça c'est plus un problème Excel que Access.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre averti
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2018
    Messages : 32
    Par défaut
    Citation Envoyé par marot_r Voir le message
    Évidement tu peux aussi faire du code pour modifier la présentation des données dans le Excel.
    Mais ça c'est plus un problème Excel que Access.

    A+
    D'accord merci je vais étudier cette piste pour créer un style dans excel.

Discussions similaires

  1. export tableur avec mise en forme conditionnelle dans word
    Par maxicobra dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/05/2013, 11h38
  2. Réponses: 2
    Dernier message: 01/02/2012, 15h02
  3. BO 5.1.n Export Excel avec mise en forme
    Par Ptchat33 dans le forum Launchpad (ex-Infoview)
    Réponses: 4
    Dernier message: 28/03/2011, 09h05
  4. [AC-2010] Comment créer des états au format Excel avec mise en forme
    Par Sami Xite dans le forum Access
    Réponses: 1
    Dernier message: 23/09/2010, 10h23
  5. Envoi de mail en VBA Excel avec mise en forme et choix d'expediteur
    Par amalane dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/08/2006, 15h24

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