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 :

Enregistrement d'un fichier EXCEL dans un champ pièce jointe d'une table [AC-365]


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Enregistrement d'un fichier EXCEL dans un champ pièce jointe d'une table
    Bonjour à tous,

    J'ai besoin de votre aide.


    Sur ma base de données, l'opérateur peut accéder à un formulaire de saisie liée a une table "Outillage" ou il peut y remplir des informations.

    Sur ce formulaire, il y a un bouton qui a pour événement sur clic l'ouverture d'un fichier Excel (Fiche Outillage).

    J'ai trouvé ce code pour l'ouverture.

    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
    Private Sub Commande99_Click()
     
     
    Dim xls As Excel.Application 'Application Excel
    Dim wk As Excel.Workbook 'Classeur Excel
     
     
    On Error GoTo errHnd
     
    Set xls = CreateObject("Excel.Application") 'Reference a Excel
    Set wk = xls.Workbooks.Open("C:\Users\?????\???\Equipe BE - Base de Données\RESSOURCES\BDD OUTILLAGE\Base de données\FICHE OUTILLAGE 11-05-21.xlsx") 'Chemin du Classeur
    Set ws = wk.Sheets("FICHE TECHNIQUE OUTILLAGE") 'Nom de la feuille a ouvrir
    ws.Activate
     
    xls.Visible = True
     
    errHnd:
    Set xls = Nothing
    Set wk = Nothing
    If err.Number <> 0 Then MsgBox "Erreur N° " & err.Number & vbLf & err.Description, , err.Source
     
     
    End Sub
    Et à partir d'ici je suis perdu

    Car j'aimerais que l'opérateur après avoir rempli le tableur puisse retourner sur le formulaire de saisie précèdent, enregistrer la saisie dans une table + le fichier Excel dans un champ pièce jointe.

    De plus il faudrait que le fichier Excel ne soit pas déjà rempli à chaque ouverture.

    L'idée est que chaque enregistrement sur la table Outillage est une Fiche Outillage accessible à l'affichage sur mon formulaire de recherche.

    Cela fait 5 mois que j'ai appris l'existence d'Access et du coup, j'ai beaucoup de mal avec le code VBA.

    Merci d'avance pour vos réponses

    Froulex

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Bonjour,

    Il n'est pas indiqué de sauver les données 2 fois: une première fois dans une table Access, une 2e fois dans la feuille Excel en pièce jointe. Les pièces jointes sont en soi à éviter; il est très nettement préférable de ne conserver dans Access que l'adresse de la pièce, du fichier, celle-ci étant enregistrée à part (dans le même dossier ou dans un autre). De tout cela, je ne saisis pas pourquoi il faut retourner à Excel. Tout ne pourrait-il pas se faire dans Access, avec des formulaires ressemblant aux feuilles Excel?

    Cordialement.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Tout ne pourrait-il pas se faire dans Access, avec des formulaires ressemblant aux feuilles Excel?
    Le problème, c'est que ma feuille Excel a plusieurs catégories avec des tableaux croisés et je ne vois pas comment rajouter autant d'informations différente sur un seul formulaire.

    Les pièces jointes sont en soi à éviter; il est très nettement préférable de ne conserver dans Access que l'adresse de la pièce
    Dans l'idée, j'aimerais que la feuille Excel soit enregistrée dans chaque enregistrement de la table liée a mon formulaire de saisie. Et vue que cette base est amener à être partagé les pièces jointes sont enregistrer dans le fichier de la base de donnée.

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 391
    Points : 19 816
    Points
    19 816
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Citation Envoyé par Froulex Voir le message
    Bonjour,

    Le problème, c'est que ma feuille Excel a plusieurs catégories avec des tableaux croisés et je ne vois pas comment rajouter autant d'informations différente sur un seul formulaire.


    Dans l'idée, j'aimerais que la feuille Excel soit enregistrée dans chaque enregistrement de la table liée a mon formulaire de saisie. Et vue que cette base est amener à être partagé les pièces jointes sont enregistrer dans le fichier de la base de donnée.
    Il faut utiliser un sous-formulaire je pense, voici un exemple de gestion de pièce jointes avec enregistrement de leur adresse dans une table :

    Gérer vos pièces jointes avec filedialog

    Cdlt,

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Bonjour,

    Il me semble qu'il y a une sorte de confusion. Dans Excel, les tableaux croisés sont des représentations de données inscrites ailleurs dans le fichier Excel. On ne va normalement pas entrer directement des données dans des cellules d'un tableau croisé. Ce sont ces données (qui sont en dehors des tableaux croisés, mais utilisées par eux) qui sont à conserver dans Access (et à passer à Excel ensuite). A noter que les tableaux croisés sont généralement aussi faciles, voire plus faciles, à construire en Access qu'en Excel. Par contre les graphiques sont nettement plus faciles à établir dans Excel que dans Access.

    Cordialement.

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par User Voir le message
    Bonjour,



    Il faut utiliser un sous-formulaire je pense, voici un exemple de gestion de pièce jointes avec enregistrement de leur adresse dans une table :

    Gérer vos pièces jointes avec filedialog

    Cdlt,
    Bonjour,

    Merci pour votre partage, mais dans ma problématique il faudrait que les fichiers soient conservés dans la base, car partager sur One drive

  7. #7
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    A noter que les tableaux croisés sont généralement aussi faciles, voire plus faciles, à construire en Access qu'en Excel
    Bonjour EricDgn,

    Du coup, si je vous suis bien, je peux reproduire ce style de feuille Excel sur un formulaire Access :

    Nom : Capture.PNG
Affichages : 113
Taille : 25,8 Ko

  8. #8
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Oui, c'est tout à fait adapté à Access, même si cela n'aura pas exactement le même aspect. Cela ne ressemble d'ailleurs pas à des tableaux croisés mais à des tableaux simples. Chaque partie semble correspondre à une table.
    Cordialement.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Oui, c'est tout à fait adapté à Access, même si cela n'aura pas exactement le même aspect. Cela ne ressemble d'ailleurs pas à des tableaux croisés mais à des tableaux simples. Chaque partie semble correspondre à une table.
    Cordialement.
    Bonjour EricDgn;

    Ce que j'ai du mal à comprendre, c'est le fait de créer une table avec des informations qui se croisent, (colonnes et lignes) ce pourquoi j'utilisais mal la def de tableaux croisés.

    Nom : Capture TABLEAU.PNG
Affichages : 127
Taille : 20,6 Ko


    Il faudrait donc que je crée une table pour chaque Composants filière (par exemple) ainsi de suite ce qui me fait 29 tables au total pour ce formulaire.

    Car je ne vois pas comment partager chaque partie par une seule table ce qui m'a foi serais génial.

    Merci encore pour votre aide.

    Cdt.

  10. #10
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Bonjour,

    Si l'on prend l'exemple du tableau "Composants filières", il faudrait 2 tables: la première où l'on enregistre les différents éléments qui constituent la première colonne (Type de vis filière, Visserie, ...) et la seconde où l'on enregistre les différentes caractéristiques de ces éléments (élément, Ref, Carré, Rectg, Rond, ...). Une question est de savoir si pour chaque outil il y a obligatoirement 1 type de filière, 1 visserie, etc. ou s'il peut y en avoir plusieurs ou aucune. Disposer d'un exemple avec 2 fiches outillage complétées (avec des valeurs fantaisistes si nécessaire) permettrait sans doute d'y voir plus clair.

    Cordialement.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Je vais essayer dans cette direction et je vous ferais un retour.

    Merci encore.

    cdt.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    J'ai réussi à mettre en forme le formulaire qui affiche les enregistrements avec les bonnes relations entre les tables et j'attends d'avoir plus d'infos sur les types de données pour m'attaquer au formulaire de saisie.

    Cependant, j'ai un autre souci.

    J'ai un formulaire de recherche simple sans code VBA qui affiche dans un sous-formulaire les résultats de ma recherche via une requête qui contient plusieurs tables liées.

    Nom : Capture.PNG
Affichages : 103
Taille : 87,8 KoNom : Capture2.PNG
Affichages : 98
Taille : 39,2 Ko

    J'aimerais avec l'événement clic sur le bouton "Afficher fiche technique" que cela affiche l'enregistrement (du formulaire fiche technique) du numéro outillage en question.

    J'ai trouvé ce genre de code vba :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Commande75_Click()
    DoCmd.OpenForm "FICHE_TECHNIQUE", acNormal, , "[Outillage_Num] ="Me.[FO_N°_Out]
    End Sub
    Mais ça ne marche pas.

    Merci d'avance pour vos retour

    Cdt.

  13. #13
    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 : 60
    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
    Question de type de données
    donnée de type numérique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "FormName", , , "FieldName = " & Me.ControlName
    donnée de type alphanumérique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "FormName", , , "FieldName = '" & Me.ControlName & "'"
    donnée de type date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "FormName", , , "FieldName = #" & Me.ControlName & "#"

  14. #14
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    J'arrive à ouvrir le formulaire avec les types de données en alphanumérique cependant cela m'affiche aucun enregistrement.

    Et je ne vois pas comment récupérais la valeur du champ "Outillage_Num" après la recherche de ma requête.

    Cdt.

  15. #15
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Bonjour,

    Il est possible qu'il n'y ait aucun résultat du fait que les "relations" sont inappropriées. Elles ne doivent pas être comme dans l'image que vous avez donnée de votre requête mais dirigée de OUTILLAGE vers les autres tables (et il doit apparaître une petite flèche du côté du 1). Dans la requête, cliquer sur le trait et afficher "Propriétés de la jointure" et sélectionner "Inclure TOUS les enregistrements de la table "OUTILLAGE" et seulement ceux de la table ...".

    Cordialement.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Voici mes relations + ceux utiliser pour mon formulaire "FICHE_TECHNIQUE" (Avec mes 1000000 tables à venir ) :

    Nom : Capture RELATIONS.PNG
Affichages : 72
Taille : 50,8 Ko

    Mais en changeant les types de jointures cela ne change rien


    Cdt.

  17. #17
    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 : 60
    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
    C'est-à-dire ton form n'affiche rien ?
    Fonction de la capture de form Post#12, en cliquant sur le btn Afficher fiche technique de la ref 000001, le form s'ouvre mais n'affiche rien ?
    Citation Envoyé par Froulex Voir le message
    Bonjour,
    J'arrive à ouvrir le formulaire avec les types de données en alphanumérique cependant cela m'affiche aucun enregistrement.
    Et je ne vois pas comment récupérais la valeur du champ "Outillage_Num" après la recherche de ma requête.
    Cdt.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2021
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2021
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour hyperion13,

    Oui le formulaire s'ouvre mais vide :

    Nom : Capture.PNG
Affichages : 73
Taille : 39,2 Ko

    J'ai testé plusieurs codes, sois le form s'ouvre directement, mais vide.

    Sois "Outillage_Num" me propose d'entrer une valeur paramètre, mais le form s'ouvre toujours vide.

    Sois il y a une erreur.

    Cdt.

  19. #19
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 239
    Points : 5 610
    Points
    5 610
    Par défaut
    Bonjour,

    Si la "source" du formulaire est la requête affichée en #12, il faudrait commencer en modifier les relations:
    Nom : Outillage2.png
Affichages : 76
Taille : 5,2 Ko
    pour obtenir finalement ces relations:
    Nom : Outillage.PNG
Affichages : 88
Taille : 41,2 Ko
    Cordialement.

  20. #20
    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 : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Re,
    Il faudrait voir la construction du form Post#18
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2013] Macro VBA : Enregistrement d'un fichier Excel dans le répertoire de notre choix.
    Par cesbidart dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/04/2018, 19h02
  2. [XL-2010] Télécharger et enregistrer sous un fichier Excel dans IE9 Windows 7
    Par francoiscrna dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 03/03/2015, 14h06
  3. [AC-2007] enregistrer un état en PDF dans un champ pièce jointe
    Par surumeika dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/06/2012, 08h54
  4. Importer nom du fichier excel dans un champs access
    Par ariehh dans le forum Access
    Réponses: 2
    Dernier message: 20/07/2009, 09h50
  5. Réponses: 5
    Dernier message: 15/07/2008, 15h10

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