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 :

Export resultat de filtres sur un formulaire en 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
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Par défaut Export resultat de filtres sur un formulaire en excel
    Bonjour,

    je souhaite exporter le résultat de plusieurs filtres ( liste déroulante ) sur un formulaire En Excel , en cliquant sur un bouton tout simplement.

    pour info : j'obtiens le résultat des filtres en cliquant sur un bouton de commande dont le code est :

    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
    Private Sub CmdFiltre_Click()
    f = ""
    If Not IsNull(Me.RRLP) And Me.RRLP <> "" Then
    f = "RLP LIKE ""*" & Me.RRLP & "*"""
    End If
    If Not IsNull(Me.RCalibres) And Me.RCalibres <> "" Then
    If f <> "" Then
    f = f & " AND Calibre = """ & Me.RCalibres & """"
    Else
    f = "Calibre = """ & Me.RCalibres & """"
    End If
    End If
    If Not IsNull(Me.RRCP) And Me.RRCP <> "" Then
    If f <> "" Then
    f = f & " AND RCP = """ & Me.RRCP & """"
    Else
    f = "RCP = """ & Me.RRCP & """"
    End If
    End If
    If Not IsNull(Me.RLPR) And Me.RLPR <> "" Then
    If f <> "" Then
    f = f & " AND LPR = """ & Me.RLPR & """"
    Else
    f = "LPR = """ & Me.RLPR & """"
    End If
    End If
    If Not IsNull(Me.RLD) And Me.RLD <> "" Then
    If f <> "" Then
    f = f & " AND Batiment = """ & Me.RLD & """"
    Else
    f = "Batiment = """ & Me.RLD & """"
    End If
    End If
    If Not IsNull(Me.RRQP) And Me.RRQP <> "" Then
    If f <> "" Then
    f = f & " AND RQP LIKE ""*" & Me.RRQP & "*"""
    Else
    f = "RQP LIKE ""*" & Me.RRQP & "*"""
    End If
    End If
    If Not IsNull(Me.RE_FTA) And Me.RE_FTA <> "" Then
    If f <> "" Then
    f = f & " AND Etat_FTA LIKE ""*" & Me.RE_FTA & "*"""
    Else
    f = "Etat_FTA LIKE ""*" & Me.RE_FTA & "*"""
    End If
    End If
    If Not IsNull(Me.RDPA) And Me.RDPA <> "" Then
    If f <> "" Then
    f = f & " AND DPA LIKE ""*" & Me.RDPA & "*"""
    Else
    f = "DPA LIKE ""*" & Me.RDPA & "*"""
    End If
    End If
    If Not IsNull(Me.RPRI) And Me.RPRI <> "" Then
    If f <> "" Then
    f = f & " AND PRI LIKE ""*" & Me.RPRI & "*"""
    Else
    f = "PRI LIKE ""*" & Me.RPRI & "*"""
    End If
    End If
    If Not IsNull(Me.RNiveau) And Me.RNiveau <> "" Then
    If f <> "" Then
    f = f & " AND Niveau LIKE ""*" & Me.RNiveau & "*"""
    Else
    f = "Niveau LIKE ""*" & Me.RNiveau & "*"""
    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 clng([Date de détection]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    Else
    f = "clng([Date de détection]) BETWEEN " & CLng(Me.Rdate1) & " AND " & CLng(Me.Rdate2) & ""
    End If
    End If
    Me.Filter = f
    Me.FilterOn = True
    End Sub

    Merci de m 'aider je suis bloqué pour l'instant ,je suis débutant en VBA , ce code je l ai trouve sur le net.

    Cdlt

    Quand tu postes du code, tu dois l'insérer dans les balises !
    http://dolphy35.developpez.com/images/Balises.gif

  2. #2
    Membre éclairé Avatar de Pittouti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2012
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 246
    Par défaut
    Bonjour Fortuna,

    tu dois créer une table intermédiaire dans laquelle tu stocke le résultat ( via une requête ajout ) et tu exporte cette table sous format excel.

    Pense à purger ta table ( Requête suppression ) après chaque export.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Par défaut
    Merci pour ton aide ,
    ce que je pensais faire , par une requête ou une table mais comment , par code ou macro?
    Si par code ,je ne sais pas comment faire par VBA.

    Cdlt

  4. #4
    Membre éclairé Avatar de Pittouti
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Avril 2012
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2012
    Messages : 246
    Par défaut
    tu peux utiliser l'un ou l'autre.

    tout dépends de ce que tu maitrise.

    en VBA tu utilisera Docmd.runsql pour tes requêtes

    et DoCmd.OutputTo pour l'export

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Par défaut
    Justement je sais pas comment faire ,
    un vba à intégrer dans le code que j ai cite ou créer un bouton à part ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    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
    Me.FilterOn = True
    Set rs = Me.Recordset.OpenRecordset
    Set xls = CreateObject("Excel.application")
    xls.Visible = True
     
     
    Set wb = xls.workbooks.Add
    Set sh = wb.sheets.Add
     
     
    For I = 0 To rs.Fields.Count - 1
        sh.range("A1").offset(0, I) = rs(I).Name
    Next
    sh.range("A2").CopyFromRecordset rs
    wb.saveas "C:\toto.xlsx"
    wb.Close False
    xls.Quit

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

Discussions similaires

  1. [HTML] Filtre sur un formulaire de saisie
    Par bdptaki dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 13/03/2008, 15h33
  2. Longueur Max d'un filtre sur un formulaire
    Par sebinator dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 28/01/2008, 21h35
  3. [VBA] filtre sur un formulaire en mode feuille de données
    Par dalmasma dans le forum Requêtes et SQL.
    Réponses: 24
    Dernier message: 25/07/2007, 11h09
  4. Réponses: 7
    Dernier message: 07/06/2007, 10h22
  5. Problème de filtre sur un formulaire
    Par bernardmichel dans le forum IHM
    Réponses: 6
    Dernier message: 12/12/2005, 15h36

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