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 :

Exporter sur Excel un sous-formulaire


Sujet :

IHM

  1. #21
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    j'ai essayé sur un autre poste, en fin de compte il bloque le fichier en lecteur seule. Impossible de le fermer et le gestionnaire des taches n'indique pas que le fichier est ouvert ?
    @ ANANA49: est-ce un fichier sur un réseau ? Si oui, ce serait un problème de droit d'accès.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  2. #22
    Nouveau membre du Club
    Femme Profil pro
    chargée d'études statistiques
    Inscrit en
    Juillet 2018
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : chargée d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 79
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Un classeur s'ouvre en version 2010 mais sans les données de mon sous-formulaire. Il m'exporte uniquement les entêtes de colonnes.

    Voici le code modifié selon les indications d'hyperion, j'ai dû oublié une syntaxe.. A vrai dire, je ne comprends pas.. Help me..
    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
     
    Private Sub ExportListing_Click()
     
    Dim xlApp As Object
    Dim xlWkb As Object
    Dim mySheet As String
    Dim rst As DAO.Recordset
    Dim rstCount As Integer
     
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlWkb = xlApp.Workbooks.Add
    Set rst = Forms![ACCUEIL]![frm_Liste_Selection].Form.RecordsetClone
     
    With xlWkb
    xlApp.ScreenUpdating = False
    ' Ajout des en-têtes dans le classeur
    For rstCount = 0 To rst.Fields.Count - 1
    xlApp.Cells(1, rstCount + 1).Value = rst.Fields(rstCount).Name
    Next rstCount
     
    xlApp.Range("A2").CopyFromRecordset rst
    xlApp.ScreenUpdating = True
    End With
     
    rst.Close
    xlApp.Quit
     
    Set rst = Nothing
    End Sub

  3. #23
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour ANANA49,
    est-ce bien le code du dernier post que tu as utilisé ? Car je viens de le tester: le classeur ne s'ouvre pas car l'application reste invisible (il n'y a pas l'instruction xlApp.Visible = True). Par contre il demande si on veut enregistrer les modifications apportées au classeur ce qui normal, puisqu'on ferme l'application à la fin de la procédure xlApp.Quit et il exporte bien l'en-tête et les enregistrements du sous-formulaire.

    Au pire, tu peux ajouter rst.Movelast et rst.MoveFirst avant la commande CopyFromRecordset. Mais pour moi, ce code fonctionne alors vérifie qu'on parle bien de la même procédure.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  4. #24
    Nouveau membre du Club
    Femme Profil pro
    chargée d'études statistiques
    Inscrit en
    Juillet 2018
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : chargée d'études statistiques
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2018
    Messages : 79
    Points : 36
    Points
    36
    Par défaut
    Merci beaucoup pour votre aide tee-Grandbois et hypérion!

    J'ai testé le code directement sur ma base de données en prod et je n'ai plus de conflit de version Excel..
    J'étais sur une base Access de test (Créée chez moi) donc je pense que cela devait venir de là.
    Tout ce temps perdu.. mais qui reste productif pour moi !
    Merci encore.
    Je poste le code modifié et qui fonctionne pour laisser une trace..

    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
    Private Sub ExportListing_Click()
     
    Dim xlApp As Object
    Dim xlWkb As Object
    Dim mySheet As String
    Dim rst As DAO.Recordset
    Dim rstCount As Integer
     
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlWkb = xlApp.Workbooks.Add
    Set rst = Forms![ACCUEIL]![frm_Liste_Selection].Form.RecordsetClone
     
    With xlWkb
    xlApp.ScreenUpdating = False
    ' Ajout des en-têtes dans le classeur
    For rstCount = 0 To rst.Fields.Count - 1
    xlApp.Cells(1, rstCount + 1).Value = rst.Fields(rstCount).Name
    Next rstCount
     
     rst.MoveLast
     rst.MoveFirst
    xlApp.Range("A2").CopyFromRecordset rst
     
    xlApp.Visible = True
    xlApp.ScreenUpdating = True
    End With
     
    rst.Close
    xlApp.Quit
     
    Set rst = Nothing
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [AC-2010] VBA export sur Excel d'un champ de formulaire
    Par madock dans le forum VBA Access
    Réponses: 9
    Dernier message: 22/09/2016, 10h24
  2. exporter une table sur excel avec un formulaire
    Par timal78 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/07/2007, 14h07
  3. Réponses: 7
    Dernier message: 24/07/2006, 15h11
  4. [débutant] Pbl sur Etat avec sous formulaire
    Par william_58 dans le forum Access
    Réponses: 5
    Dernier message: 18/07/2006, 22h41
  5. Réponses: 5
    Dernier message: 25/04/2006, 16h04

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