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 :

[Import] [2000] Importer des données venant d'excel


Sujet :

VBA Access

  1. #1
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut [Import] [2000] Importer des données venant d'excel
    Bonjour.

    Comment puis-je procéder pour importer des données dans une table. Les données sont stockées dans un fichier excel.

    Dans ce que j'ai déjà essayé ( macros ou en vba ), je dois à chaque fois préciser où est stocké le fichier, ce qui ne m'arrange pas !!!!!

    Avez-vous une solution?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Déjà montre nous (code) ce que tu as essayé, il y'a peut-être une option que tu as oublié.

    As-tu fais des recherches ? Car il y'a de nombreuses discussions sur ce sujet (tape Excel dans le moteur de recherche).

    Starec

  3. #3
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par Starec
    Déjà montre nous (code) ce que tu as essayé, il y'a peut-être une option que tu as oublié.
    J'ai essayé
    - par une macro
    - en vba avec DoCmd.et j'ai essayé transferfeuilledonnée

    Dans les deux cas, je DOIS indiquer l'endroit où est stocké le fichier à importer!

    Comment ferais-tu?

    Citation Envoyé par Starec
    As-tu fais des recherches ? Car il y'a de nombreuses discussions sur ce sujet (tape Excel dans le moteur de recherche).
    Rassure-toi, j'essaie toujours de faire une recherche. Mais je n'ai pas trouvé ce qui m'intéressait ( à moins que je cherche mal... )

    Merci à toi...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par damkre
    J'ai essayé
    - par une macro
    - en vba avec DoCmd.et j'ai essayé transferfeuilledonnée
    Re

    Et le code ?

    De toute façon tu dois toujours indiquer le chemin de ton fichier pour le mettre en paramètre.

    Tu as deux solutions :
    1 - Le mettre en dur si celui-ci est constant
    2 - Ouvrir une boite de dialogue pour le récupérer (un tour dans la FAQ te donnera les codes).

    Starec
    Dernière modification par Invité ; 24/04/2007 à 10h53. Motif: Complément d'informations

  5. #5
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    OK, merci. Je dirai te dirai quoi quand j'aurai testé le tout

  6. #6
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par Starec
    Avec la boite de dialogue tu récupére le chemin du fichier plus son nom, c'est l'ensemble qui doit être passé en paramètre.
    Heu... J'ai pas tout compris, là?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Re

    Heu... J'ai pas tout compris, là?
    Mélange de discussions, mets le code que tu as écris.

    Starec

  8. #8
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Re,

    J'ai suivi la FAQ ( ici ), c'est ce que tu m'avais reccomandé.

    J'ai donc fait une MsgBox, après avoir inséré le code dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichier Excel", "xls")
    Cette dernière s'ouvre dès que je clique sur un bouton dans un formulaire. Je peux sélectionner un fichier. Une boîte de message s'affiche avec le chemin d'accès au fichier.

    Le problème, c'est que je ne sais pas comment récupérer ce chemin pour importer le fichier sélectionné.

    J'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadSheet acImport, acSpreadsheetTypeExcel9, "NOM DE MA TABLE",ICI DEVRAIT SE TROUVER LE FICHIER QUE J'AI RECUPERE AVEC LA MSGBOX, True
    .

    Le seul problème est donc, dans ce code, d'utiliser le chemin d'accès sélectionné auparavant...

    As-tu une solution?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Re

    On comprend mieux avec le code

    1 - Récupére le chemin du fichier dans une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim strChemFichier as string
    strChemFichier = OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichier Excel", "xls")
    2 - Tu peux l'afficher dans une MsgBox
    et c'est cette variable "strChemFichier" que tu utilises pour ton tranfert.

    Starec

  10. #10
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Re,
    Citation Envoyé par Starec
    On comprend mieux avec le code
    Bien d'accord avec toi, mais je n'ai pas toujours Access sous la main...

    Citation Envoyé par Starec
    1 - Récupére le chemin du fichier dans une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim strChemFichier as string
    strChemFichier = OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichier Excel", "xls")
    2 - Tu peux l'afficher dans une MsgBox
    et c'est cette variable "strChemFichier" que tu utilises pour ton tranfert.
    Donc, si je comprends bien, dans mon formulaire, je crée un bouton pour importer les données. Puis, en VBA :

    1) Je récupère les données avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim strChemFichier as string
    strChemFichier = OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichier Excel", "xls")
    2) J'utilise ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadSheet acImport, acSpreadsheetTypeExcel9, "NOM DE MA TABLE",strChemFichier, True
    Ais-je bien compris ?????

  11. #11
    Invité
    Invité(e)
    Par défaut
    Oui, tu as compris

    Sur le click de ton bouton tu mets le 1 er code, avec l'affectation dans ta variable.

    Starec

  12. #12
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Citation Envoyé par Starec
    Oui, tu as compris

    Sur le click de ton bouton tu mets le 1 er code, avec l'affectation dans ta variable.
    C'est parce que tes explications sont très claires !

    Merci @ toi

  13. #13
    Invité
    Invité(e)
    Par défaut
    Re

    A toi de faire pour voir si cela te convient, tiens nous au courant et n'oublie pas de cliquer sur si c'est bon.

    Starec

  14. #14
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Re,

    Visaul basic met une erreur : "le fichier sélectionné ne contient pas de données", ce qui est faux !

    Ce message apparaît au moment où j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TABLE", strChemFichier, True
    .

    DAns mon formulaire, j'ai un bouton. Propriété sur clic :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim strChemFichier as string
    strChemFichier = OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichier Excel", "xls")
    Msgbox strChemFichier
     
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "TABLE", strChemFichier, True
    Qu'ais-je mal fait???

  15. #15
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Re,
    Personnellement, je viens de tester ton code.......et il fonctionne correctement..... (sous ACCESS 2003)

    Par contre, juste une petite chose...la ligne suivante n'est pas necessaire:
    Sauf si tu tiens obligatoirement à "revoir" le nom du fichier importé....

    Pour info, le fichier Excel est simplement composé de:
    En ligne 1 ==> corespond aux nom des champs
    A partir de la deuxième ligne ==> toutes les autres données

  16. #16
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Ah! Quelle bonne nouvelle ! Et est-il capable de fonctionner correctement avec Acess 2000 ( je n'ai que cette version? )

    Dois-je, dans VBA, cocher une référence de plus???

  17. #17
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Alors là pas d'idée.....

    Essaie de tester ton code sur un fichier Excel simple.....avec les noms des champs en première ligne....

  18. #18
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut
    Donc, a priori, pas de problème de version????

    OK, je vais tester ça de suite.

    Merci et à bientôt...

    PS : je mettrai lorsque tout ira bien...

  19. #19
    Membre habitué
    Avatar de DamKre
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2007
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2007
    Messages : 495
    Points : 184
    Points
    184
    Par défaut

    Chez moi, j'ai beau recommencer, ça ne fonctionne pas !

  20. #20
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Comment est ton fichier Excel ?

    Est-ce que le premier onglet contient tes informations ?, où sont-elles sur une autre ?

    Starec

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

Discussions similaires

  1. importer des données web sur excel
    Par irouni dans le forum Excel
    Réponses: 3
    Dernier message: 18/12/2007, 11h12
  2. (Débutant!) Importer dans C# des données Excel
    Par Bouyou1983 dans le forum C#
    Réponses: 4
    Dernier message: 16/12/2007, 13h23
  3. Import des données oracle dans excel
    Par irouni dans le forum Excel
    Réponses: 7
    Dernier message: 10/12/2007, 15h47
  4. comment importer des données bo sur excel
    Par Gecl.paris dans le forum Deski
    Réponses: 1
    Dernier message: 12/02/2007, 10h54
  5. [VBA-E]Importer des données de fichiers excel fermés
    Par bart64 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/04/2006, 11h35

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