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 :

Multicritere export excel


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut Multicritere export excel
    Bonjour,

    Tout d'abord merci pour le site car j'y ai trouve plein d'information et de code tres utiles. Mon niveau en VBA est quasi nul

    J'ai un créé un formulaire de recherche multicritère sous access qui filtre mon formulaire.
    Je voudrais pouvoir exporter ces données vers excel. Mais je n'exporte que le formulaire entier
    Je souhaiterai pouvoir choisir quels champs exporter lors de mon filtre.
    Mon niveau en vba ne me permet pas encore de trouver une solution.
    Toute aide est la bienvenue!

    PS j'ai bien lu le tuto de cafeine sur excel ---> http://cafeine.developpez.com/access/tutoriel/excel/
    J'ai essayer la methode automation mais ça m'extrait le formulaire entier



    Mon Bouton Chercher
    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
    Private Sub Commande112_Click()
    f = ""
    If Not IsNull(Me.Rréseau) And Me.Rréseau <> "" Then
    f = "Porteur LIKE ""*" & Me.Rréseau & "*"""
    End If
    If Not IsNull(Me.Rétat) And Me.Rétat <> "" Then
    If f <> "" Then
    f = f & " AND [Etat du dossier] = """ & Me.Rétat & """"
    Else
    f = "[Etat du dossier] = """ & Me.Rétat & """"
    End If
    End If
    If Not IsNull(Me.Rdate1) And Me.Rdate1 <> "" And Not IsNull(Me.Rdate2) And Me.Rdate2 <> "" Then
    If f <> "" Then
    f = f & " AND ([Date d'émission]) BETWEEN " & (Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    Else
    f = "CLng([Date d'émission]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    End If
    End If
    Me.Filter = f
    Me.FilterOn = True
    ET pour le bouton extraction excel j'ai copié celui de "Automation" de cafeine en l'adaptant mais ça extrait tout

    merci a tous!

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut
    Je galere tjrs apres plusieurs tentatives je n'arrive tjrs pas au resultats souhaité
    Faut-il que je fasse un recordset pr garder mon formulaire filtré ?

    Merci,

  3. #3
    Membre éclairé

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Par défaut
    Relancer une requête avec seulement les champs nécessaires puis l'exporter comme précisé par Caféine ne serait pas aussi simple?

    Pour garder la chaine de caractère qui stocke ta condition WHERE (donc f), déclare-la non pas dans une procédure mais tout en haut de la page de code. Cette variable sera accessible par toutes les procédures de ton formulaire. Donc si tu lui dis lors de la conception de la requête que les critères de requête sont ça, ça et ça dans une procédure, tu pourras les réutiliser pour l'export.
    Du coup, avec le code de ton bouton, tu pourras relancer ta requête avec les même critères mais avec d'autres champs à exporter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT champA, champB, champC (...) FROM Matable WHERE " & f

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut
    Merci de ta réponse

    Si j'ai bien compris il faut que j'enleve f="" dans le Bouton Chercher et je dois le mettre en haut

    Mais j'ai pas bien compris ou je dois mettre parce que je n'en voit pas ds le tuto de cafeine (sauf pr l'ADO)

    Faut il le mettre ici
    Bouton Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub BtExcel_Click()
    CurrentDb.CreateQueryDef "resultats", "Select ...." & f
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "resultats", txtChemin, True
    DoCmd.DeleteObject acQuery, "resultats"
    End Sub
    j'ai parcouru le forum et j'ai trouvé ce code ici http://www.developpez.net/forums/sho...light=exporter

  5. #5
    Membre éclairé

    Inscrit en
    Juin 2006
    Messages
    320
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 320
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Si j'ai bien compris il faut que j'enleve f="" dans le Bouton Chercher et je dois le mettre en haut
    raté! Essaie encore!
    Laisse ton code tel qu'il est pour le bouton "Rechercher".
    Ce qu'il faut, c'est ajouter tout en haut de la page de code, avant tout le reste, la déclaration de variable: Ca te permettra de stocker les critères de recherche lors de l'éxécution de ton code.
    Faut il le mettre ici
    Bouton Excel
    Yes.

    Si tu fais comme ça, ça te donne:
    1- choix des critères de recherche
    2- bouton Rechercher ==> lance la requête et stocke les conditions dans la variable f
    Si la recherche donne le résultat escompté:
    3- bouton Excel ==> réutilise les mêmes conditions que précédemment pour générer une nouvelle requête.

    PS: n'oublies pas le WHERE dans ta commande SQL

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 23
    Par défaut
    oui j'ai vu que f="" ne marchait pas
    donc j'ai bien mis Pour le bouton Excel je n'ai pas oublié le WHERE

    Mais soit ça me met une erreur sur WHERE ou sinon il me demande de remlir mes champ1, champ2 ......

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Export Requete d'une recherche multicritere sous Excel
    Par Luisito31 dans le forum VBA Access
    Réponses: 16
    Dernier message: 29/05/2008, 12h20
  2. [CR] export Excel (plusieurs feuilles)
    Par kaiserben dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 21/11/2005, 15h03
  3. Tableau dynamique, export excel
    Par ptitepunk dans le forum Access
    Réponses: 1
    Dernier message: 14/10/2005, 12h21
  4. Réponses: 5
    Dernier message: 29/09/2005, 13h55
  5. Export Excel
    Par jfn dans le forum Access
    Réponses: 5
    Dernier message: 15/11/2004, 01h55

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