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 :

Copier contenu d'une table vers Excel à un endroit précis [AC-2019]


Sujet :

Access

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut Copier contenu d'une table vers Excel à un endroit précis
    Bonjour,

    Je viens vers vous car j'aurais aimer savoir si vous aviez une solution pour que lorsque je clique sur un bouton sur mon formulaire ci-dessous, cela exporte les données vers un fichier Excel déjà créer et à un emplacement précis pour pas empiéter sur ce qui est déjà présent.
    Le formulaire :
    Nom : laquage.PNG
Affichages : 230
Taille : 17,0 Ko
    La feuille Excel ou je souhaiterai que les données soit exportées:
    Nom : laquage excel.png
Affichages : 262
Taille : 23,9 Ko
    A savoir que les données devrait aller dans le rectangle noire à peu près.

    Pour le moment la seule chose que j'arrive à faire est d'exporter la table sur une feuille Excel indépendante.

    Cordialement
    Merci d'avance pour votre réponse !

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Salut
    Pour exporter des donnes vers Excel, il y a la méthode TransferSpreadsheet
    Citation Envoyé par william.rodde Voir le message
    ... savoir si vous aviez une solution pour que lorsque je clique sur un bouton sur mon formulaire ci-dessous, cela exporte les données vers un fichier Excel déjà créerÉ
    Emplacement précis,= cadre noir à droite du snap et déjà présent,= ébauche de tableau à gauche du snap ?
    Citation Envoyé par william.rodde Voir le message
    ... et à un emplacement précis pour pas empiéter sur ce qui est déjà présent.
    Que vas-tu mette dans le tableau à gauche ? La zone rectangle noir contiendra-t-elle ou non déjà des données ?
    Citation Envoyé par william.rodde Voir le message
    La feuille Excel ouù je souhaiterai que les données soiENt exportées dans le rectangle noire à peu près.
    Tu aurais pu moonter ce que tu as fait.
    Citation Envoyé par william.rodde Voir le message
    ...Pour le moment la seule chose que j'arrive à faire est d'exporter la table sur une feuille Excel indépendante.
    Est-ce que ce classeur est un "template" qui te servira à recevoir des données de ton appli pour chaque commande de laquage ?
    Vas-tu dans ce "template" stocker tous les exportations de ton appli ? Ou est-ce à usage unique ?

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Re,
    D'accord merci pour la méthode permettant d'exporter les données.
    Enfaîte le cadre noir je l'ai rajouté avec Paint afin que vous compreniez bien ou est ce que j'aimerai que les données aille mais sinon sur la Feuille Excel il n'est pas présent.
    Le tableau à gauche va en effet recevoir les données que la personne va rentrer (de ce qui aura été exporté à droite).
    Voici ce que cela fait quand j'exporte pour le moment (ça exporte sur un fichier à part de celui que je veux et le recréer chaque fois que je clique sur le bouton Exporter:
    Nom : 11.PNG
Affichages : 212
Taille : 5,8 Ko
    Nom : excell.PNG
Affichages : 238
Taille : 54,7 Ko

    Oui exactement ce classeur est un template.
    Heu plutôt à usage unique concernant les données (si la personne veut garder une trace elle fera un copié collé du tableau). Car une fois le tableau remplit le but étant de l'imprimé.

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    re,
    avec les éléments de cette exportation pourrais-tu compléter le tableau à gauche avec les éléments exportés. Enfin s'il y a un lien entre les 2.
    Éventuellement joindre au format xlsx ta tbl ou qry laquage.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Oui bien sure je vous le fait avec un exemple:
    Nom : excccel.PNG
Affichages : 204
Taille : 42,2 Ko
    Vous allez me dire que c'est complètement débile d'exporter toute la ligne alors que l'on prend juste le champ NumArticle que l'on découpe pour insérer dans Référence, Longueur et Traitement.
    Les autres champs (la ou j'ai mis du rouge) c'est la personne qui les remplie à la main selon des choses qui ne sont pas dans l'enregistrement exporté.

    PS: Les 3 gros rectangle vide en haut du tableau que j'ai rempli sont vide car j'ai enlever les infos qu'il y avait car il y a des N° de téléphone / mail ...

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    re,
    il me faudrait au format xlsx le contenu de ta tbl ou qry qui te sert à l'export vers Excel. Et noms du fichier xslx et onglet de la feuille de calculs.
    je note que ton NumArticle doit être scinder pour ref, long et traitement

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Re,
    Voici le contenu de la table au format xlsx : R_Laquage.xlsx
    Le nom du fichier Excel ou j'aimerai que les donner aille est --> Laquage
    Le nom de la feuille de calcul de ce fichier Excel est --> Feuil1

    J'espère que vous ai fournit les bonne informations

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    re
    des éléments que tu exportes quels sont ceux qui sont essentiels? As tu besoin de récupérer toutes les colonnes ?
    et si je comprends bien, les 3 NumArticle que tu exportes passent dans le tableau de gauche. Ce n'est pas un NumArticle pour un tableau!

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    re,
    Non en effet je n'ai pas forcément besoin de toutes les colonnes, je dirais que après NumDestination les autres ne sont pas essentiels
    Exact c'est cela NumArticle contient en effet la référence...

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    re,
    - dans la création de tes NumArticle à quel moment vas-tu codifier le type de traitement que doivent subir tes articles ? Est-ce des la saisie du NumArticle ?
    - pour les commandes laquage il y a LA dans le NumArticle. Mais y-a-t-il que LA ? Si oui OK, si non quelle autre combinaison de lettres ?
    - pour CE26008LA4925,ou un autre NumArticle qui doit aller se faire laquer y-a-t-il toujours le même nombre de caractères avant LA (7)? Même question pour après LA (4)?

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Re,
    Enfaîte tous les champs NumArticle... ne sont pas saisi ils sont déjà écris car provienne d'un autre logiciel (que je n'utilise pas) donc le type de traitement est déjà définie.
    Non il n'y a pas que LA (qui est une couleur il me semble) desfois il peut y avoir XX ou BR et des fois dans le champ traitement il peut y avoir écris 9010 ou 7016ST .
    Ce n'est malheureusement pas toujours le même nombre de lettre avant LA mais oui sinon après les deux lettres (LA...) il n'y a que 4 lettres.
    Un exemple des autres NumArticle ci-dessous (certains NumArticle ne sont pas valide mais ces pour vous montrer à peu près ce que je peux retrouver ) =
    Nom : accesss.PNG
Affichages : 208
Taille : 17,1 Ko

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    re,
    Je me suis basé sur l'exemple de ta feuille de calculs Post#1
    Il faudra adapter noms classeur et onglet Excel.
    Le problème est que je me suis basé sur le code LA dans tout le code.
    Pas eu le temps de voir s'il était possible de passer ce code LA en variable avant d’exécuter la totalité des sub(). Mais normalement, ça doit pouvoir se faire.
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    re,
    En effet cela fonctionne l'exportation... ce passe comme il faut je vais maintenant regarder comment je pourrait faire pour pouvoir adapter à autre que LA.
    Je vais regarder le code afin de le comprendre un maximum.
    Merci de m'avoir aider !
    Bonne journée

  14. #14
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Re,
    je reviens vers vous car je n'arrive pas à insérer votre solution dans ma base, à savoir que j'ai bien entendu changer tous les champs comme il le fallait mais lorsque je veux exporter vers Excel j'ai ce message là:
    Nom : erreur.PNG
Affichages : 189
Taille : 3,6 Ko
    voici votre code adapté pour moi :
    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
    Private Sub Laquage_Click()
    'Microsoft Excel xx.x Object Library
    On Error GoTo ErrorHandler
     
    Dim dbs As DAO.Database, rst As DAO.Recordset, rst1 As DAO.Recordset
    Dim xlApp As Excel.Application, xlWbk As Excel.Workbook, xlWsh As Excel.Worksheet
    Dim i As Integer, j As Integer, k As Integer, l As Integer, fldCount As Integer
    Dim strFilePath As String, strBackSlash As String, strFolder As String, strFileName As String, strSheetName As String, strExt As String, strTableName As String
    Dim strKill As String
     
    strFilePath = CurrentProject.Path
    strBackSlash = "\"
    strFileName = "Laquage" ' nom fichier Xl
    strSheetName = "Feuil1" ' nom feuille de calculs
    strExt = ".xlsx"
    strTableName = "T_Laquage" ' nom de la tbl
     
    strFilePath = strFilePath & strBackSlash & strFileName & strExt
     
    Set dbs = CurrentDb
     
    Set rst = dbs.OpenRecordset(strTableName)
    If rst.EOF Then
        MsgBox "il n'y a pas d'enregistrements !"
        rst.Close
        Set rst = Nothing
        Exit Sub
    End If
     
    Set xlApp = New Excel.Application
    xlApp.Visible = True
    If xlWbk Is Nothing Then
        Set xlWbk = xlApp.Workbooks.Open(strFilePath)
    End If
    Set xlWsh = xlWbk.Worksheets(strSheetName)
     
    xlApp.ScreenUpdating = False
    xlApp.EnableEvents = False
    xlApp.DisplayAlerts = False
     
    With xlWsh
        .Range("J2:AA10").ClearContents
        .Range("B16:D18").ClearContents
    End With
     
    fldCount = rst.Fields.Count ' nombre de champs tbl_laquage_tmp = 18 OK
    With xlWsh
    i = 10 ' indice colonne J
        For j = 0 To fldCount - 1
            .Cells(1, i).Value = rst.Fields(j).Name ' création des en-têtes dans Xl
            i = i + 1
        Next j
    End With
    With xlWsh
        k = 2 ' indice ligne 2
        Do Until rst.EOF
            .Range("J" & k).Value = rst.Fields("IdCommande").Value
            .Range("K" & k).Value = rst.Fields("NumOrigine").Value
            .Range("L" & k).Value = rst.Fields("Numero").Value
            .Range("M" & k).Value = rst.Fields("NumArticle").Value
            .Range("N" & k).Value = rst.Fields("CodeVariante").Value
            .Range("O" & k).Value = rst.Fields("DateCommande").Value
            .Range("P" & k).Value = rst.Fields("DateLivDemander").Value
            .Range("Q" & k).Value = rst.Fields("QteManquante").Value
            .Range("R" & k).Value = rst.Fields("QteRestante").Value
            .Range("S" & k).Value = rst.Fields("QtePretDepart").Value
            .Range("T" & k).Value = rst.Fields("PoidsManquant").Value
            .Range("U" & k).Value = rst.Fields("Observations").Value
            .Range("V" & k).Value = rst.Fields("NomDestinataire").Value
            .Range("W" & k).Value = rst.Fields("NumDestination").Value
            .Range("X" & k).Value = rst.Fields("Choix").Value
            .Range("Y" & k).Value = rst.Fields("Reference").Value
            .Range("Z" & k).Value = rst.Fields("Traitement").Value
            .Range("AA" & k).Value = rst.Fields("Longueur").Value
            rst.MoveNext
        k = k + 1
        Loop
    End With
    'Set rst1 = dbs.OpenRecordset(strTableName)
    'With xlWsh
    '    l = 17 ' indice ligne 16
    '    Do Until rst1.EOF
    '        .Range("C" & l).Value = rst1.Fields("Reference_tmp").Value
    '        .Range("D" & l).Value = rst1.Fields("Traitement_tmp").Value
    '        .Range("E" & l).Value = rst1.Fields("Longueur_tmp").Value
    '        rst1.MoveNext
    '    l = l + 1
    '    Loop
    'End With
    'With xlWsh
    '    .Range("J1:AA10").Columns.AutoFit
    'End With
     
    xlWbk.Save
    xlWbk.Close
    Set xlWbk = Nothing
    xlApp.Quit
    Set xlApp = Nothing
     
    If Not (rst Is Nothing Or rst1 Is Nothing) Then
        rst.Close
        rst1.Close
    End If
    dbs.Close
    Set rst1 = 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
    Merci d'avance de votre aide

    EDIT: Le problème est enfaite résolu j'avais laisser le champ IdCommande qui n'existe pas dans ma table.

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 384
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 384
    Points : 2 014
    Points
    2 014
    Par défaut
    @hyperion13:
    De memoire, il y a la fonction Range.CopyFromRecordset qui transfert le contenu d'un recordset, ca evite d'ecrire une boucle (selon la volumétrie, ca peut être lent).

    @william.rodde:
    Le nom de l'un de tes champ doit être faux, vérifie les noms.

    Plutôt que d'exporter de Access vers Excel, j'interrogerais Access depuis Excel via Power Query.
    Moins de VBA, donc moins de source d'erreur.

    Note:
    Pour debugger, colle des points d'arrêt et exécute en pas à pas, ou désactive les gestionnaires d'erreur, tu saurais immédiatement quelle ligne est fautive.

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Bonjour deedolith

    En effet c'était cela un des nom de champ n'était pas correct merci .
    Hm je vais y réfléchir mais pour le moment le fonctionnement me satisfait mais je prend note.
    Et merci pour votre solution pour m'aider à debugger mon code.

    Merci pour votre message

  17. #17
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Re-Bonjour,

    Je me demandais si vous pensiez qu'avec le code que j'ai actuellement :
    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
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    Private Sub Laquage_Click()
     
     
    'Microsoft Excel xx.x Object Library
    On Error GoTo ErrorHandler
     
    Dim dbs As DAO.Database, rst As DAO.Recordset, rst1 As DAO.Recordset
    Dim xlApp As Excel.Application, xlWbk As Excel.Workbook, xlWsh As Excel.Worksheet
    Dim i As Integer, j As Integer, k As Integer, l As Integer, fldCount As Integer
    Dim strFilePath As String, strBackSlash As String, strFolder As String, strFileName As String, strSheetName As String, strExt As String, strTableName As String
    Dim strKill As String
    'xlApp.Visible = True
     
     
     
     
    strFilePath = CurrentProject.Path
    strBackSlash = "\"
    strFileName = "Laquage" ' nom fichier Xl
    strSheetName = "Feuil1" ' nom feuille de calculs
    strExt = ".xlsx"
    strTableName = "T_Laquage" ' nom de la tbl
     
    strFilePath = strFilePath & strBackSlash & strFileName & strExt
     
    Set dbs = CurrentDb
     
    Set rst = dbs.OpenRecordset(strTableName)
    If rst.EOF Then
        MsgBox "il n'y a pas d'enregistrements !"
        rst.Close
        Set rst = Nothing
        Exit Sub
    End If
     
    Set xlApp = New Excel.Application
    xlApp.Visible = True
    If xlWbk Is Nothing Then
        Set xlWbk = xlApp.Workbooks.Open(strFilePath)
    End If
    Set xlWsh = xlWbk.Worksheets(strSheetName)
     
    xlApp.ScreenUpdating = False
    xlApp.EnableEvents = False
    xlApp.DisplayAlerts = False
     
    With xlWsh
        .Range("J2:AA27").ClearContents
        .Range("B16:D18").ClearContents
    End With
     
    fldCount = rst.Fields.Count ' nombre de champs tbl_laquage_tmp = 18 OK
    With xlWsh
    i = 10 ' indice colonne J
        For j = 0 To fldCount - 1
            .Cells(1, i).Value = rst.Fields(j).Name ' création des en-têtes dans Xl
            i = i + 1
        Next j
    End With
    With xlWsh
        k = 2 ' indice ligne 2
        Do Until rst.EOF
            .Range("J" & k).Value = rst.Fields("NumOrigine").Value
            .Range("K" & k).Value = rst.Fields("Numero").Value
            .Range("L" & k).Value = rst.Fields("NumArticle").Value
            .Range("M" & k).Value = rst.Fields("CodeVariante").Value
            .Range("N" & k).Value = rst.Fields("DateCommande").Value
            .Range("O" & k).Value = rst.Fields("DateLivDemander").Value
            .Range("P" & k).Value = rst.Fields("QteManquante").Value
            .Range("Q" & k).Value = rst.Fields("QteRestante").Value
            .Range("R" & k).Value = rst.Fields("QtePretDepart").Value
            .Range("S" & k).Value = rst.Fields("PoidsManquant").Value
            .Range("T" & k).Value = rst.Fields("Observations").Value
            .Range("U" & k).Value = rst.Fields("NomDestinataire").Value
            .Range("V" & k).Value = rst.Fields("NumDestination").Value
            .Range("W" & k).Value = rst.Fields("Choix").Value
     
            rst.MoveNext
        k = k + 1
        Loop
    End With
    'Set rst1 = dbs.OpenRecordset(strTableName)
    'With xlWsh
    '    l = 17 ' indice ligne 16
    '    Do Until rst1.EOF
    '        .Range("C" & l).Value = rst1.Fields("Reference_tmp").Value
    '        .Range("D" & l).Value = rst1.Fields("Traitement_tmp").Value
    '        .Range("E" & l).Value = rst1.Fields("Longueur_tmp").Value
    '        rst1.MoveNext
    '    l = l + 1
    '    Loop
    'End With
    'With xlWsh
    '    .Range("J1:AA10").Columns.AutoFit
    'End With
     
    xlWbk.Save
    xlWbk.Close
    Set xlWbk = Nothing
    xlApp.Quit
    Set xlApp = Nothing
     
      CurrentDb.Execute "DELETE FROM T_Laquage "
     
    If Not (rst Is Nothing Or rst1 Is Nothing) Then
        rst.Close
        rst1.Close
    End If
    dbs.Close
    Set rst1 = 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
     
     
        Set xlWbk = xls.Workbooks.Open("C:\Users\ALTERNANT\Desktop\Laquage.xlsx")
        Set xlWsh = wk.Sheets("Feuil1")
        xlWsh.Activate
     
        xlApp.Visible = True
        Exit Sub
    errHnd:
        MsgBox "Erreur N° " & Err.Number & vbLf & Err.Description, , Err.Source
     
     
     
    End Sub
    Serait-il possible de rajouter la possibilité de choisir les enregistrements à copié sur Excel par exemple via une requête SQL " WHERE Choix = True "
    J'ai cru voir cette méthode là : https://www.developpez.net/forums/d1...deja-existant/

    Merci par avance et désolé de réactiver la conversation.

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

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 274
    Points : 6 583
    Points
    6 583
    Par défaut
    Salut
    Rédigez en L27 votre syntaxe SQL SELECT ... FROM ... WHERE ... et corrigez L28

  19. #19
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2019
    Messages
    279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2019
    Messages : 279
    Points : 85
    Points
    85
    Par défaut
    Re,
    En effet merci ! J'ai rajouté ce code et cela fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL = "SELECT * FROM T_Laquage WHERE T_Laquage.Choix=True "
     
    Set rst = dbs.OpenRecordset(SQL)

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

Discussions similaires

  1. [AC-2016] Copier le contenu d'une table vers une autre (Combinaisons sur 4 Tables)
    Par vavavoum74 dans le forum VBA Access
    Réponses: 12
    Dernier message: 07/01/2019, 12h02
  2. [AC-2016] Copier le contenu d'une table vers une autre sans doublons, basée sur un champ
    Par vavavoum74 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 18/12/2018, 15h28
  3. Copier le contenu d'une table vers une autre table
    Par kroma23 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 24/11/2015, 14h46
  4. Comment copier le contenu d'une table vers une autre ?
    Par sebaaas dans le forum Requêtes
    Réponses: 7
    Dernier message: 30/06/2009, 22h24
  5. [MYSQL] Copier contenue d'une table vers...
    Par naseeb18 dans le forum Requêtes
    Réponses: 9
    Dernier message: 04/04/2004, 13h40

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