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 :

Comment Activer le Module Function Export


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut Comment Activer le Module Function Export
    Bonsoir,
    Je me permets cette question, étant novice en Base Access.
    Je souhaiterais faire une mise en page access vers Excel sur un Bouton_Click depuis une requête.
    J'ai fais une recherche sur Google.
    Et j'ai trouvé ce module, mais je ne sais pas comment faire pour l'activer.
    Actuellement je l'ai copier dans un module.
    comment faire, ensuite, si cela fonctionne.

    Cordialement

    JJacques



    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
    1.Function export_excel_avec_entetes(ByVal nomrequete As String)
    2.''ajouter les references Microsoft 12.0 Object Library
    3.''ajouter les references Microsoft DAO 3.6 Object Library
    4.Dim db As DAO.Database
    5.Dim rs As DAO.Recordset
    6.Dim objExcel As Excel.Application
    7.Dim objWorkBook As Excel.Workbook
    8.Dim objFeuille As Excel.Worksheet
    9.nomrequete = "paper"
    10.Dim i, j As Integer
    11.Set objWorkBook = Workbooks.Add
    12.'supprimer les feuilles 2 et 3
    13.objWorkBook.Sheets(3).Delete
    14.objWorkBook.Sheets(2).Delete
    15.Set objFeuille = objWorkBook.Sheets(1)
    16.'nommer la feuille de l'export cible
    17.objFeuille.Name = "Export"
    18.Set db = CurrentDb
    19.Set rs = db.OpenRecordset("select * from " & nomrequete, dbOpenDynaset)
    20.i = 1
    21.'renseigner les entêtes de colonnes
    22.    For j = 0 To rs.Fields.Count - 1
    23.        objFeuille.Cells(1, i) = rs.Fields(j).Name
    24.        i = i + 1
    25.    Next j
    26.'renseigner les données
    27.objFeuille.Cells(2, 1).CopyFromRecordset rs
    28.objWorkBook.Application.Visible = True
    29.objWorkBook.Activate
    30.''libération de la mémoire
    31.Set objWorkBook = Nothing
    32.Set objFeuille = Nothing
    33.Set db = Nothing
    34.Set rs = Nothing
    35.End Function
    36.Function export_excel_sans_entetes(ByVal nomrequete As String)
    37.''ajouter les references Microsoft 12.0 Object Library
    38.''ajouter les references Microsoft DAO 3.6 Object Library
    39.Dim db As DAO.Database
    40.Dim rs As DAO.Recordset
    41.Dim objExcel As Excel.Application
    42.Dim objWorkBook As Excel.Workbook
    43.Dim objFeuille As Excel.Worksheet
    44.Set objWorkBook = Workbooks.Add
    45.'supprimer les feuilles 2 et 3
    46.objWorkBook.Sheets(3).Delete
    47.objWorkBook.Sheets(2).Delete
    48.Set objFeuille = objWorkBook.Sheets(1)
    49.'nommer la feuille de l'export cible
    50.objFeuille.Name = "Export"
    51.Set db = CurrentDb
    52.Set rs = db.OpenRecordset("select * from " & nomrequete, dbOpenDynaset)
    53.'renseigner les données
    54.objFeuille.Cells(1, 1).CopyFromRecordset rs
    55.objWorkBook.Application.Visible = True
    56.objWorkBook.Activate
    57.''libération de la mémoire
    58.Set objWorkBook = Nothing
    59.Set objFeuille = Nothing
    60.Set db = Nothing
    61.Set rs = Nothing
    62.End FunctionFunction export_excel_avec_entetes(ByVal nomrequete As String)
    ''ajouter les references Microsoft 12.0 Object Library
    ''ajouter les references Microsoft DAO 3.6 Object Library
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim objExcel As Excel.Application
    Dim objWorkBook As Excel.Workbook
    Dim objFeuille As Excel.Worksheet
    nomrequete = "paper"
    Dim i, j As Integer
    Set objWorkBook = Workbooks.Add
    'supprimer les feuilles 2 et 3
    objWorkBook.Sheets(3).Delete
    objWorkBook.Sheets(2).Delete
    Set objFeuille = objWorkBook.Sheets(1)
    'nommer la feuille de l'export cible
    objFeuille.Name = "Export"
    Set db = CurrentDb
    Set rs = db.OpenRecordset("select * from " & nomrequete, dbOpenDynaset)
    i = 1
    'renseigner les entêtes de colonnes
        For j = 0 To rs.Fields.Count - 1
            objFeuille.Cells(1, i) = rs.Fields(j).Name
            i = i + 1
        Next j
    'renseigner les données
    objFeuille.Cells(2, 1).CopyFromRecordset rs
    objWorkBook.Application.Visible = True
    objWorkBook.Activate
    ''libération de la mémoire
    Set objWorkBook = Nothing
    Set objFeuille = Nothing
    Set db = Nothing
    Set rs = Nothing
    End Function
    Function export_excel_sans_entetes(ByVal nomrequete As String)
    ''ajouter les references Microsoft 12.0 Object Library
    ''ajouter les references Microsoft DAO 3.6 Object Library
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim objExcel As Excel.Application
    Dim objWorkBook As Excel.Workbook
    Dim objFeuille As Excel.Worksheet
    Set objWorkBook = Workbooks.Add
    'supprimer les feuilles 2 et 3
    objWorkBook.Sheets(3).Delete
    objWorkBook.Sheets(2).Delete
    Set objFeuille = objWorkBook.Sheets(1)
    'nommer la feuille de l'export cible
    objFeuille.Name = "Export"
    Set db = CurrentDb
    Set rs = db.OpenRecordset("select * from " & nomrequete, dbOpenDynaset)
    'renseigner les données
    objFeuille.Cells(1, 1).CopyFromRecordset rs
    objWorkBook.Application.Visible = True
    objWorkBook.Activate
    ''libération de la mémoire
    Set objWorkBook = Nothing
    Set objFeuille = Nothing
    Set db = Nothing
    Set rs = Nothing
    End Function

  2. #2
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour CLASSIQUE,
    Sur l’événement click de ton bouton de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private sub Bouton_Click()
    export_excel_avec_entetes("LeNomDeTaRequête")
    End Sub
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonsoir,

    Merci de votre aide sur le sujet, actuellement j'ai remplacé dans le Module le : Nom de la requête , par Ma requête : GESTION aux lignes
    1;19;36;52;62;80;97;113
    Mais j'ai le message suivant lorsque Erreur de complilation Type défini par l'utilisateur non défini

    Cordialement
    JJacques

  4. #4
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonsoir CLASSIQUE,
    Tu ne dois rien modifier dans le module, seulement dans le code que j'ai fait remplacer "LeNomDeTaRequête" par le vrai nom de ta requête.
    Bonne soirée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  5. #5
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Et de plus dans le code que j'ai fait j'appelle seulement la fonction avec en tête. Si tu veux appeler l'autre fonction tu dois faire le même code mais avec le nom de l'autre fonction. Autre précision, tu as les fonctions en double. La ligne 1 à 61 se retrouve de la ligne 62 à 123.
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour,
    Merci pour l'aide, car j'ai encore quelques soucis.
    Quelques lacunes pour comprendre la possibilité d'Exportation de ma requête via Excel.
    j'ai toujours le message suivant lorsque je Clique sur le Bouton

    Ce que je ne comprends pas c'est qu'il n'y a pas de Chemin défini pour le Fichier XLSX,

    Comme par Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub EXPORTATION_Click()
    DoCmd.TransferSpreadsheet acExport, 10, "gestion", "H:\18AVRIL2013-GESTION\CARTES.XLSX"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande87_Click()
     export_excel_sans_entetes ("gestion")
    End Sub
    Erreur de complilation Type défini par l'utilisateur non défini



    Voici le module :

    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
    Option Compare Database
     
     
    Function export_excel_sans_entetes(ByVal nomrequete As String)
     
    ''ajouter les references Microsoft 12.0 Object Library
    ''ajouter les references Microsoft DAO 3.6 Object Library
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim objExcel As Excel.Application
    Dim objWorkBook As Excel.Workbook
    Dim objFeuille As Excel.Worksheet
    Set objWorkBook = Workbooks.Add
    'supprimer les feuilles 2 et 3
    objWorkBook.Sheets(3).Delete
    objWorkBook.Sheets(2).Delete
    Set objFeuille = objWorkBook.Sheets(1)
    'nommer la feuille de l'export cible
    objFeuille.Name = "Export"
    Set db = CurrentDb
    Set rs = db.OpenRecordset("select * from " & nomrequete, dbOpenDynaset)
    'renseigner les données
    objFeuille.Cells(1, 1).CopyFromRecordset rs
    objWorkBook.Application.Visible = True
    objWorkBook.Activate
    ''libération de la mémoire
    Set objWorkBook = Nothing
    Set objFeuille = Nothing
    Set db = Nothing
    Set rs = Nothing
    End Function


    Cordialement

    JJacques

  7. #7
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    C'est parce qu'il te manque la référence Excell
    Images attachées Images attachées  
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    j'ai bien effectué la mise à jour dans le module.
    Actuellement j'ai une nouvelle Erreur :

    Erreur d'exécution 430
    la classe ne gère pas Automation ou l'interface attendue
    Voici les images en Format JPG ci-joint

    Cordialement
    JJacques
    Images attachées Images attachées    

  9. #9
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour CLASSIQUE,
    Voici ce que Microsoft donne pour cette erreur:http://www.microsofttranslator.com/B...172/en-us?fr=1
    Là ça va te prendre quelqu'un de plus compétent que moi. J'ai testé cette fonction sur mon PC elle fonctionne très bien. Je viens de tester sur le réseau via VPN avec serveur Windows 2008 et même résultat. Désolé...
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  10. #10
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Dernière chose,
    Compacter et réparer ta base de données.
    Qui sait!!!
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 208
    Points : 75
    Points
    75
    Par défaut
    Merci de votre aide, et de votre recherche.
    Je comprends que le Module doit fonctionner, mais il y a peut-être une référence, ou ma requête qui n'est pas adaptée pour ce module.
    J'ai eu également un autre message d'erreur : Erreur d'exécution 3061 Trop peu de paramètres 2
    Pourtant je me suis aperçu pour Arrêter l'ordinateur qu'il me demande si je veux Enregistrer des fichiers Excel suite à mes différentes manipes sur le Bouton_Click .
    Je poserais la question à un collègue prochainement, et si j'ai une réponse je la mettrais sur le Site.
    Cordialement
    JJacques

  12. #12
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 871
    Points : 3 451
    Points
    3 451
    Par défaut
    Bonjour CLASSIQUE,
    Pour ce nouveau message d'erreur, c'est un problème dans ta requête, s'il manque un champ ou si champ mal identifié.
    Bonne journée
    Ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrivent aisément. Nicolas Boileau
    Si tout est OK, n'oubliez pas de cliquer sur

Discussions similaires

  1. Comment activer le module DOM
    Par kevinf dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 16/04/2010, 18h26
  2. comment activer l'aide en ligne
    Par saibe dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/01/2005, 14h23
  3. Réponses: 9
    Dernier message: 15/09/2004, 21h35
  4. Réponses: 2
    Dernier message: 12/02/2004, 13h07

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