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

Access Discussion :

Exporter de données depuis ACCESS vers EXCEL avec condition


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 40
    Points : 28
    Points
    28
    Par défaut Exporter de données depuis ACCESS vers EXCEL avec condition
    Bonjour à tous,
    Voilà dans le cadre de mon travail je dois faire exporter des donnés situé dans un formulaire "LOT" vers des feuilles Excel mais avec condition . c'est à dire chaque fournisseur a un model de facture.
    voici un EXEMPLE
    GESTION.rar

  2. #2
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Une piste parmi tant d'autre
    Je pars d'une idée
    L11 : classeur contenant dans une feuille les contours d'une facture.
    L14 : j'ouvre le jeu d'enregistrement correspondant au jeu en cours dans le form
    L17/20 : j'ouvre le classeur (L11) et je me positionne sur la feuille qui contient les contours de la facture
    L22/27 : je fais correspondre aux cellules désignées, les valeurs des contrôles de mon form.
    L29 : je donne un nouveau nom à mon classeur d'origine
    L30 : je sauvegarde ce nouveau classeur
    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
    Private Sub btnExportXl_Click()
    On Error GoTo ErrorHandler
     
    Dim dbs As DAO.Database, rst As DAO.Recordset
    Dim strSql As String
    Dim xlApp As Excel.Application, xlwbk As Excel.workbook, xlwbs As Excel.Worksheet
    Dim strFilePath As String, strBackslash As String, FileName As String, FileSave As String
     
    strFilePath = CurrentProject.Path
    strBackslash = "\"
    FileName = strFilePath & strBackslash & "modele.xls"
     
    Set dbs = CurrentDb
    strSql = "SELECT * FROM tblClient WHERE id_cli = " & Me.id_cli
    Set rst = dbs.OpenRecordset(strSql)
     
    Set xlApp = CreateObject("Excel.Application")
    Set xlwbk = xlApp.Workbooks.Open(FileName)
    Set xlwbs = xlwbk.Worksheets("Modele")
    xlApp.Visible = True
     
    With xlwbk.ActiveSheet
        .Range("A1").Value = Me!id_cli
        .Range("B1").Value = Me!nom_cli
        .Range("C1").Value = Me!ads_cli
        ' etc
    End With
     
    FileSave = strFilePath & strBackslash & Me!id_cli & ".xls"
    xlwbk.SaveAs FileSave
     
    rst.Close
    xlwbk.Close
    xlApp.Quit
     
    Set xlwbs = Nothing
    Set xlwbk = Nothing
    Set xlApp = Nothing
    Set rst = Nothing
    Set dbs = Nothing
     
    ExitHandler:
        Exit Sub
    ErrorHandler:
        MsgBox "Oups ! Une erreur a été rencontrée :" & vbCrLf & "Error " & Err.Number & ": " & Err.Description
        Resume ExitHandler
    End Sub

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Bonjour, merci pour votre réponse mais j'ai déjà des modèles EXCEL (des factures) , je veux exporter des données vers des feuilles Excel mais avec condition, c'est à dire
    si Texte24.Value = "Fournisseur1" je dois exporter les données vers la facture 11 si non vers la facture 12.

  4. #4
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Et depuis le 1er post?
    Le Roy a dit : Nous voulons.
    J'espère que votre bdd ne se limitera pas à seulement 2 fournisseurs.
    Alors :
    - Pour dupliquer (ou copier) un classeur, je vous avez ce lien. Assez simple à mettre en oeuvre. Et vous pouvez même conditionner le "copier/coller" selon le fournisseur.
    - Si votre classeur possède une feuille de calculs dans laquelle vous avez "modélisé" une facture, vous pourrez dupliquer cette feuille. La méthode est ici.
    - Pour copier les données d'un formulaire ou d'une source (tbl/qry) un début de piste dans ma première réponse.

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Et depuis le 1er post?
    Le Roy a dit : Nous voulons.
    J'espère que votre bdd ne se limitera pas à seulement 2 fournisseurs.
    Alors :
    - Pour dupliquer (ou copier) un classeur, je vous avez ce lien. Assez simple à mettre en oeuvre. Et vous pouvez même conditionner le "copier/coller" selon le fournisseur.
    - Si votre classeur possède une feuille de calculs dans laquelle vous avez "modélisé" une facture, vous pourrez dupliquer cette feuille. La méthode est ici.
    - Pour copier les données d'un formulaire ou d'une source (tbl/qry) un début de piste dans ma première réponse.
    bonjour, non ma BDD ne se limite pas à 2 fournisseurs c'étais juste un exemple en réalité j'ai 36 fournisseurs internationales et chaque fournisseurs a une facture prédéfinie et avec d'autres langue (français ,anglais,allemand, italien) et je dois exporter les données vers ces factures excel prédéfinies.c'est à dire chaque fournisseur a un model de facture.
    ex:si Texte24.Value = "Fournisseur1" je dois exporter les données vers la facture11

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 770
    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 770
    Points : 14 812
    Points
    14 812
    Par défaut
    bonjour,
    pourquoi ne pas stocker le nom du classeur dans la table des fournisseurs ?

  7. #7
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    bonjour,
    pourquoi ne pas stocker le nom du classeur dans la table des fournisseurs ?
    Pas plus simple d'utiliser le MkDir() ?
    D'autres question
    - tous ces classeurs sont-ils ou non sauvegardés dans le répertoire de la bdd ?
    - chaque facture éditée (données du form) est-elle ajoutée ou non sous forme d'onglet dans un classeur respectif ?
    - faut-il ou non créer un classeur à chaque nouvelle année ?
    - selon la législation en vigueur faut-il ou non conserver les classeurs ?
    - etc.

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 770
    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 770
    Points : 14 812
    Points
    14 812
    Par défaut
    Pas plus simple d'utiliser le MkDir() ?
    ne s'agit-il pas de modèles de factures à utiliser pour chaque fournisseur ou me trompe-je, Donald ?

    [EDIT] hyperion, je viens de comprendre ton questionnement, je rectifie donc ma réponse:
    ne vaut-il pas mieux stocker le nom du modèle de facture associé au fournisseur dans la table des fournisseurs ?

  9. #9
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Allez, sans chercher midi à quatorze heure
    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
    Private Sub Commande31_Click()
    Dim oExcel As Object, oBook As Object, oSheet As Object
     
    Set oExcel = CreateObject("Excel.Application")
    Set oBook = oExcel.Workbooks.Open("C:\" & Me.Texte24.Value & ".xlsx")
    Set oSheet = oBook.Worksheets("01")
    oExcel.Visible = True
     
    oSheet.Range("B12:B17").ClearContents
     
    With oSheet.ActiveSheet
        .Range("B12").Value = Me.Texte28
        ' etc
    End With
     
    oExcel.Visible = False
    oExcel.ActiveWorkbook.Close Savechanges:=True
    oExcel.Quit
     
    Set oSheet = Nothing
    Set oBook = Nothing
    Set oExcel = Nothing
     
    End Sub

Discussions similaires

  1. [AC-2019] Transfert de données depuis ACCESS vers un classeur EXCEL
    Par irimi54 dans le forum Access
    Réponses: 6
    Dernier message: 17/01/2021, 17h16
  2. Exporter la table Access vers Excel avec VBA
    Par ivoratparis dans le forum VBA Access
    Réponses: 6
    Dernier message: 29/01/2014, 14h09
  3. Exporter des données d'Access vers Excel.
    Par SunRay dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/09/2009, 10h24
  4. Données de Access vers excel
    Par frevale dans le forum Access
    Réponses: 8
    Dernier message: 02/04/2006, 16h06
  5. Export de données d'Access vers Excel
    Par ROPERS dans le forum Access
    Réponses: 4
    Dernier message: 11/10/2005, 17h44

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