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 :

mise en forme export excel


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Par défaut mise en forme export excel
    Bonjour à tous,

    Je souhaite mettre en forme mon fichier excel après un export de requête.

    Voici mon code dans lequel j'ai déjà appliqué quelques mises en formes.


    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
     
    Private Sub Cmd_generer_bordereau_Click()
     
    Dim I As Long, J As Long
    Dim t0 As Long, t1 As Long
    t0 = Timer
    Dim rec As Recordset
     
    DoCmd.SetWarnings False
    DoCmd.RunSQL "SELECT EXPORT.* INTO toto FROM EXPORT;"
     
    Set rec = CurrentDb.OpenRecordset("toto", dbOpenSnapshot)
     
    'Initialisations
    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
    'Ajouter une feuille de calcul
    Set xlSheet = xlBook.Worksheets.Add
    xlSheet.Name = "Liste des documents"
    ' le titre
    ' écriture dans la cellule de ligne 1 et de colonne 1
    'xlSheet.Cells(1, 1) = "Export d'une table Access"
    ' les entetes
    ' .Fields(Index).Name renvoie le nom du champ
    For J = 0 To rec.Fields.Count - 1
    xlSheet.Cells(2, J + 1) = rec.Fields(J).Name
    ' Nous appliquons des enrichissements de format aux cellules
    With xlSheet.Cells(2, J + 1)
    .Interior.ColorIndex = 15
    .Interior.Pattern = xlSolid
    .Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Borders(xlEdgeBottom).Weight = xlThin
    .Borders(xlEdgeBottom).ColorIndex = xlAutomatic
    .HorizontalAlignment = xlCenter
    End With
    Next J
    ' recopie des données à partir de la ligne 3
    I = 3
    Do While Not rec.EOF
    For J = 0 To rec.Fields.Count - 1
    ' .Fields(Index).Type renvoie le type du champ
    ' si c'est un Texte (dbText) nous insérons "'" pour
    ' qu'il soit reconnu par Excel comme du Texte
    If rec.Fields(J).Type = dbText Then
    xlSheet.Cells(I, J + 1) = "'" & rec.Fields(J)
    Else
    xlSheet.Cells(I, J + 1) = rec.Fields(J)
    End If
    Next J
    I = I + 1
    rec.MoveNext
    Loop
    ' code de fermeture et libération des objets
    xlBook.SaveAs "d:\my documents\KHALID\BASE\EXPORT\" & cbo_Bordereau.Value & ""
    xlApp.Quit
    rec.Close
    Set rec = Nothing
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
    t1 = Timer
    Debug.Print I & " enregistrements", Format(t1 - t0, "0") & " secondes"
     
     
     
    DoCmd.SetWarnings True
     
     
    End Sub
    j'aimerais également que la colone A soit vide et que les cellules de la ligne qui contient le nom des champ (ici la 2ème ligne) soit en cadriées avec une hauteur de cellule plus grande et qu'elles soient centrées également en hauteur.

    Je n'arrive pas à trouver les instructions adéquates.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 154
    Par défaut
    Bonsoir

    C'est simple,
    tu ouvres ton fichier Excel, tu démarres l'enregistrement Macro, tu fais tes mises en forme et tout et tout..
    Tu arrêtes l'enregistrement Macro.
    Récupère le code VB de la macro, que tu colles dans l'éditeur VB d'Access, et le tour est joué.
    A placer au bon endroit, et à adapter..

    Bon courage

    Didier71

Discussions similaires

  1. [AC-2007] Mise en forme export vers Excel
    Par PiTeR92 dans le forum VBA Access
    Réponses: 9
    Dernier message: 21/06/2012, 17h51
  2. [WebI XiR2] Problème mise en page export excel
    Par moemie dans le forum Débuter
    Réponses: 8
    Dernier message: 18/06/2009, 15h10
  3. Mise en forme - Export en fichier txt
    Par Rikou31 dans le forum IHM
    Réponses: 3
    Dernier message: 20/08/2008, 12h21
  4. mise en forme fichier excel depuis code vba (Access 2003)
    Par Kass4r dans le forum VBA Access
    Réponses: 8
    Dernier message: 11/04/2008, 11h38
  5. Réponses: 1
    Dernier message: 16/03/2007, 10h30

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