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

IHM Discussion :

export access vers excel


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 264
    Points : 108
    Points
    108
    Par défaut export access vers excel
    Bonjour à tous j ai un recordset sous access et j aimerai exporter son contenu vers une feuille excel.
    En fait voilà la philosophie le classeur contient une feuille " 2007 " avec certaine trame.
    J aimerai ouvrir ce classeur me positionner sur cette feuille, recopier l ensemble du recordset dans les bonnes cases de cette feuille. Une fois cette feuille"2007" remplie, j aimerais en faire une copie donc la placer juste aprés en créant une autre feuille. Ensuite je reviens sur la feuille initiale "2007" et ej vide l ensemble des cellules remplies pour accueillir un nouvel enregistrement et ainsi de suite.
    Voilà mon code. l'export se fait par contre au deuxième tour j ai des soucis avec le fait que le classeur est déjà ouvert donc ouvrable en mode lecture seule donc non modifiable.
    Ensuite j ai la propriété " copy sheet" qui n 'est pas gérée et je ne sais pas pourquoi.

    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
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
     
    Private Sub Edition_Click()
    Dim db As DAO.Database
    Dim Xlapp  As Excel.Application
    Dim XlBook  As Excel.Workbook
    Dim XlSheet As Excel.Worksheet
    Dim sSQL As String
    Dim indic1 As String
    Dim indic2 As String
    Dim indic3 As Date
    Dim rs As DAO.Recordset
    Dim i As Integer
    Dim y, m, d As Integer
    Dim Da As String
     
    Set db = Application.CurrentDb
     
     
     
    indic1 = Me.liste1
    indic2 = Me.liste2
    indic3 = Me.liste3
     
     
     
        If ((indic1 = "calibration sol") And (indic2 = "LOC 27R" Or indic2 = "LOC 27L" Or indic2 = "LOC 09L" Or indic2 = "LOC 09R" Or indic2 = "LOC 08L" Or indic2 = "LOC 08R" Or indic2 = "LOC 26L" Or indic2 = "LOC 26R" Or indic2 = "LOC 25" Or indic2 = "LOC 27" Or indic2 = "LOC 07")) Then
        sSQL = "select * from [Annuelle_loc] where [Annuelle_loc].[nom de la station] ='" & indic2 & "' and Cstr([Annuelle_loc].[Date annuelle])='" & indic3 & "';"
     
        Set rs = db.OpenRecordset(sSQL, dbOpenDynaset)
     
        End If
     
     
    Set Xlapp = New Excel.Application
        Xlapp.Visible = True
        Set XlBook = Xlapp.Workbooks.Open("L:\ST-RADIONAVIGATION\_PRIVE\Applications\logiciel_CEV\" & tampon1 & "\annuelle\" & tampon1)
        Xlapp.DisplayAlerts = False
     
    With rs
     
    'Do While Not rs.EOF
     
    XlBook.Sheets("2007").Select
    XlBook.Range("j4").value = rs![nom de la station]
     
    XlBook.Range("g13").value = rs![DDM REF M1 ENS1]
    XlBook.Range("h13").value = rs![DDM REF M2 ENS1]
    XlBook.Range("i13").value = rs![DDM REF piste ENS1]
    XlBook.Range("k13").value = rs![DDM REF ML ENS1]
    XlBook.Range("l13").value = rs![désaccord_DDMREF_E1]
    XlBook.Range("g14").value = rs![DDM REF M1 ENS2]
    XlBook.Range("h14").value = rs![DDM REF M2 ENS2]
    XlBook.Range("i14").value = rs![DDM REF piste ENS2]
    XlBook.Range("k14").value = rs![DDM REF ML ENS2]
    XlBook.Range("l14").value = rs![désaccord_DDMREF_E2]
     
     
    XlBook.Range("g15").value = rs![SDM REF M1 ENS1]
    XlBook.Range("h15").value = rs![SDM REF M2 ENS1]
    XlBook.Range("i15").value = rs![SDM  REF piste ENS1]
    'XlBook.Range("k15").value = rs![SDM REF ML ENS1]
    XlBook.Range("l15").value = rs![désaccord_SDMREF_E1]
    XlBook.Range("g16").value = rs![SDM  REF M1 ENS2]
    XlBook.Range("h16").value = rs![SDM  REF M2 ENS2]
    XlBook.Range("i16").value = rs![SDM  REF piste ENS2]
    'XlBook.Range("k16").value = rs![SDM REF ML ENS2]
    XlBook.Range("l16").value = rs![désaccord_SDMREF_E2]
     
    XlBook.Range("G17").value = rs![DDM A1 E1CT]
    XlBook.Range("h17").value = rs![DDM A2 E1 CT]
    XlBook.Range("i17").value = rs![DDM piste brute E1 CT]
    XlBook.Range("j17").value = rs![DDM piste corrigée E1 CT]
    XlBook.Range("k17").value = rs![DDM ML E1 CT]
    XlBook.Range("l17").value = rs![désaccord DDM CT E1]
    XlBook.Range("G18").value = rs![DDM A1 E2 CT]
    XlBook.Range("h18").value = rs![DDM A2 E2 CT]
    XlBook.Range("i18").value = rs![DDM piste brute E2 CT]
    XlBook.Range("j18").value = rs![DDM piste corrigée E2 CT]
    XlBook.Range("k18").value = rs![DDM ML E2 CT]
    XlBook.Range("l18").value = rs![désaccord DDM CT E2]
     
     
    XlBook.Range("G19").value = rs![DDM ALG A1 E1]
    XlBook.Range("h19").value = rs![DDM ALG A2 E1]
    XlBook.Range("i19").value = rs![DDM ALG piste brute  E1]
    XlBook.Range("j19").value = rs![DDM ALG corriége   E1]
    XlBook.Range("k19").value = rs![DDM ALG ML E1]
    XlBook.Range("l19").value = rs![désaccord DDM ALG E1]
    XlBook.Range("G20").value = rs![DDM ALD A1 E1]
    XlBook.Range("h20").value = rs![DDM ALD A2 E1]
    XlBook.Range("i20").value = rs![DDM ALD piste brute  E1]
    XlBook.Range("j20").value = rs![DDM ALD corriége   E1]
    XlBook.Range("k20").value = rs![DDM ALD ML E1]
    XlBook.Range("l20").value = rs![désaccord DDM ALD E1]
     
     
    XlBook.Range("G21").value = rs![DDM ALG A1 E2]
    XlBook.Range("h21").value = rs![DDM ALG A2 E2]
    XlBook.Range("i21").value = rs![DDM ALG piste brute  E2]
    XlBook.Range("j21").value = rs![DDM ALG corriége   E2]
    XlBook.Range("k21").value = rs![DDM ALG ML E2]
    XlBook.Range("l21").value = rs![désaccord DDM ALG E2]
    XlBook.Range("G22").value = rs![DDM ALD A1 E2]
    XlBook.Range("h22").value = rs![DDM ALD A2 E2]
    XlBook.Range("i22").value = rs![DDM ALD piste brute  E2]
    XlBook.Range("j22").value = rs![DDM ALD corriége   E2]
    XlBook.Range("k22").value = rs![DDM ALD ML E2]
    XlBook.Range("l22").value = rs![désaccord DDM ALD E2]
     
     
    XlBook.Range("G23").value = rs![DDM F1 E1]
    XlBook.Range("h23").value = rs![DDM F2 E1]
    XlBook.Range("i23").value = rs![DDM_moy_brute_E1_FC]
    XlBook.Range("j23").value = rs![DDM_moy_corrigée_E1_FC]
    XlBook.Range("l23").value = rs![désaccord_DDM_FC_E1]
    XlBook.Range("G24").value = rs![DDM F1 E2]
    XlBook.Range("h24").value = rs![DDM F2 E2]
    XlBook.Range("i24").value = rs![DDM_moy_brute_E2_FC]
    XlBook.Range("j24").value = rs![DDM_moy_corrigée_E2_FC]
    XlBook.Range("l24").value = rs![désaccord_DDM_FC_E2]
     
     
    XlBook.Range("G25").value = rs![DDM ALE  F1 E1]
    XlBook.Range("h25").value = rs![DDM ALE F2 E1]
    XlBook.Range("i25").value = rs![DDM_ALE_moy_brute_E1_FC]
    XlBook.Range("j25").value = rs![DDM_ALE_moy_corrigée_E1_FC]
    XlBook.Range("l25").value = rs![désaccord_DDM_ALE_FC_E1]
    XlBook.Range("G26").value = rs![DDM ALL  F1 E1]
    XlBook.Range("h26").value = rs![DDM ALL F2 E1]
    XlBook.Range("i26").value = rs![DDM_ALL_moy_brute_E1_FC]
    XlBook.Range("j26").value = rs![DDM_ALL_moy_corrigée_E1_FC]
    XlBook.Range("l26").value = rs![désaccord_DDM_ALL_FC_E1]
     
     
     
     
    XlBook.Range("G27").value = rs![DDM ALE  F1 E2]
    XlBook.Range("h27").value = rs![DDM ALE F2 E2]
    XlBook.Range("i27").value = rs![DDM_ALE_moy_brute_E2_FC]
    XlBook.Range("j27").value = rs![DDM_ALE_moy_corrigée_E2_FC]
    XlBook.Range("l27").value = rs![désaccord_DDM_ALE_FC_E2]
    XlBook.Range("G28").value = rs![DDM ALL  F1 E2]
    XlBook.Range("h28").value = rs![DDM ALL F2 E2]
    XlBook.Range("i28").value = rs![DDM_ALL_moy_brute_E2_FC]
    XlBook.Range("j28").value = rs![DDM_ALL_moy_corrigée_E2_FC]
    XlBook.Range("l28").value = rs![désaccord_DDM_ALL_FC_E2]
     
    XlBook.Range("G29").value = rs![DDM ACL C1 E1]
    XlBook.Range("H29").value = rs![DDM ACL C2 E1]
    XlBook.Range("G30").value = rs![DDM ACL C1 E2]
    XlBook.Range("h30").value = rs![DDM ACL C2 E2]
     
     
    End With
     
    rs.Close
    Set rs = Nothing
     
    y = Year(Me.liste3)
    m = Month(Me.liste3)
    d = Day(Me.liste3)
    Da = d & "_" & m & "_" & y
     
     
     
     
        Set XlSheet = XlBook.Worksheets.Add(, XlBook.Worksheets(XlBook.Worksheets.Count))
        XlSheet.Name = tampon1 & "_" & Da
     
        XlBook.Sheets("2007").Select
        Selection.Copy
        XlSheet.Select
        ActiveSheet.Paste
     
        XlBook.Sheets("2007").Select
        XlBook.Range("J4:M4").Select
        XlBook.Selection.ClearContents
        XlBook.Range("G9:L10").Select
        XlBook.Selection.ClearContents
        XlBook.Range("G13:I16").Select
        XlBook.Selection.ClearContents
        XlBook.Range("K13:L14").Select
        XlBook.Selection.ClearContents
        XlBook.Range("L15:L16").Select
        XlBook.Selection.ClearContents
        XlBook.ActiveWindow.ScrollRow = 2
        XlBook.ActiveWindow.ScrollRow = 3
        XlBook.ActiveWindow.ScrollRow = 4
        XlBook.ActiveWindow.ScrollRow = 5
        XlBook.ActiveWindow.ScrollRow = 6
        XlBook.ActiveWindow.ScrollRow = 7
        XlBook.ActiveWindow.ScrollRow = 8
        XlBook.ActiveWindow.ScrollRow = 9
        XlBook.ActiveWindow.ScrollRow = 10
        XlBook.ActiveWindow.ScrollRow = 11
        XlBook.ActiveWindow.ScrollRow = 12
        XlBook.ActiveWindow.ScrollRow = 13
       XlBook.ActiveWindow.ScrollRow = 14
        XlBook.ActiveWindow.ScrollRow = 15
        XlBook.ActiveWindow.ScrollRow = 16
        XlBook.ActiveWindow.ScrollRow = 17
        XlBook.ActiveWindow.ScrollRow = 16
        XlBook.ActiveWindow.ScrollRow = 15
        XlBook.Range("G17:L22").Select
        XlBook.Selection.ClearContents
        XlBook.Range("G23:J28").Select
        XlBook.Selection.ClearContents
        XlBook.Range("L23:L28").Select
        XlBook.Selection.ClearContents
        XlBook.Range("G29:H30").Select
        XlBook.Selection.ClearContents
     
          XlBook.Visible = True
     
        XlBook.Workbooks.SaveAs "L:\ST-RADIONAVIGATION\_PRIVE\Applications\logiciel_CEV\" & tampon1 & "\annuelle\" & tampon1
         XlBook.Workbooks.Close "L:\ST-RADIONAVIGATION\_PRIVE\Applications\logiciel_CEV\" & tampon1 & "\annuelle\" & tampon1
         XlBook.Quit
         Xlapp.Quit
     
     
    Set XlBook = Nothing
    Set Xlapp = Nothing
     
        End If
        End If
     
     End Sub
    En fait j ai toujours un processus EXCEL.EXE qui tourne même si à première vue mon aplli excel est fermée.
    Quelqu un a t il une idée sur ce qui se passe ou pouvez vous me tourner vers une source ou un tuto dont je pourrai m inspirer.
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pour tout ce concerne de Access à Excel : Communication entre Access et Excel

    Regardes aussi du coté de CopyFromRecordset

    Philippe

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 264
    Points : 108
    Points
    108
    Par défaut erreur 462. Serveur introuvable
    Re bonsoir apres 7 heures de recherche non stop je bute encore.
    Mon export se fait bien au premier tour. Par contre au deuxième tour il me jette en indiquant " erreur 462 " Serveur distant introuvable.
    J ai regardé sur le net et ils disent qu ils faut détailler toutes les méthodes donc c est ce que j ai fait dans le module suivant et rien y fait. Au deuxième tour j ai la ligne en bleue gras qui est au debuggage avec le message propriété non gérée.
    Pourtant j ai bien fait un kill du processus excel.exe qui tourne en boucle à chaque tour.

    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
    
    Private Sub Edition_Click()
    Dim db As DAO.Database
    Dim xlApp  As Excel.Application
    Dim xlBook  As Excel.Workbook
    Dim xlSheet  As Excel.Worksheet
    
    Dim sSQL As String
    Dim indic1 As String
    Dim indic2 As String
    Dim indic3 As Date
    Dim rs As DAO.Recordset
    Dim i As Integer
    Dim y, m, d As Integer
    Dim Da As String
    
    
    
    Set db = Application.CurrentDb
    
    indic1 = Me.liste1
    indic2 = Me.liste2
    indic3 = Me.liste3   
        
        If ((indic1 = "calibration sol") And (indic2 = "LOC 27R" Or indic2 = "LOC 27L" Or indic2 = "LOC 09L" Or indic2 = "LOC 09R" Or indic2 = "LOC 08L" Or indic2 = "LOC 08R" Or indic2 = "LOC 26L" Or indic2 = "LOC 26R" Or indic2 = "LOC 25" Or indic2 = "LOC 27" Or indic2 = "LOC 07")) Then
        sSQL = "select * from [Annuelle_loc] where [Annuelle_loc].[nom de la station] ='" & indic2 & "' and Cstr([Annuelle_loc].[Date annuelle])='" & indic3 & "';"
         
        Set rs = db.OpenRecordset(sSQL, dbOpenDynaset)
        
        End If
        
        
        Set xlApp = CreateObject("Excel.Application")
    
        Set xlBook = xlApp.Workbooks.Open("L:\ST-RADIONAVIGATION\_PRIVE\Applications\logiciel_CEV\" & tampon1 & "\annuelle\" & tampon1)
      
              
    With rs
    
    
    y = Year(Me.liste3)
    m = Month(Me.liste3)
    d = Day(Me.liste3)
    Da = d & "_" & m & "_" & y
    
    Set xlSheet = xlBook.Sheets("2007")
    xlSheet.Copy After:=Sheets("2007")
    Set xlSheet = xlBook.Sheets("2007 (2)")
    xlSheet.Name = tampon1 & "_" & Da
    xlSheet.Select
    
    xlBook.ActiveSheet.Cells(13, 7).value = rs![DDM REF M1 ENS1]
    xlBook.ActiveSheet.Cells(13, 8).value = rs![DDM REF M2 ENS1]
    xlBook.ActiveSheet.Cells(13, 9).value = rs![DDM REF piste ENS1]
    xlBook.ActiveSheet.Cells(13, 11).value = rs![DDM REF ML ENS1]
    xlBook.ActiveSheet.Cells(13, 12).value = rs![désaccord_DDMREF_E1]
    xlBook.ActiveSheet.Cells(14, 7).value = rs![DDM REF M1 ENS2]
    xlBook.ActiveSheet.Cells(26, 9).value = rs![DDM_ALL_moy_brute_E1_FC]
    xlBook.ActiveSheet.Cells(26, 10).value = rs![DDM_ALL_moy_corrigée_E1_FC]
    xlBook.ActiveSheet.Cells(26, 12).value = rs![désaccord_DDM_ALL_FC_E1]
    
    End With
    
    rs.Close
    Set rs = Nothing
        
            
        xlBook.Saved = True
        Set xlSheet = Nothing   
        
        xlApp.DisplayAlerts = True
      
        Set xlBook = Nothing
        xlApp.Quit
        Set xlApp = Nothing
        KillProcess "Excel.exe"
      
        End If
        End If  
    
    End Sub
    Si quelqu un a des idées pour arranger ce code qui me parait bon pourtant.

Discussions similaires

  1. exportation access vers excel
    Par osia1 dans le forum VBA Access
    Réponses: 44
    Dernier message: 18/04/2008, 15h40
  2. Export ACCESS vers EXCEL
    Par BAYRAL dans le forum VBA Access
    Réponses: 2
    Dernier message: 21/11/2007, 15h13
  3. Réponses: 5
    Dernier message: 15/07/2007, 22h49
  4. Export Access vers Excel nb de champs variable
    Par SylvainJ dans le forum Access
    Réponses: 4
    Dernier message: 05/03/2007, 13h55
  5. export access vers excel en asp
    Par oniric dans le forum ASP
    Réponses: 9
    Dernier message: 24/03/2006, 14h21

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