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 :

Problème Copy Données d'excel vers access


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Problème Copy Données d'excel vers access
    Bonjour,
    Je débute en VBA et j'ai fait un code pour pouvoir copier des données qui sont dans un fichier CSV vers une table access.
    Pour se faire, dans mon code je dit à Access d'ouvrir le CSV avec Excel et ayant comme séparateur la "," ensuiste je lui fait créer une Worksheet nommer "A_export", puis je copy les données qui m'intéresse dans cette nouvelle Worksheet.
    je lui demande ensuite d'enregistrer le csv en XLS, puis de transférer les données copier dans la nouvelle feuille vers ma table access, enfin je vide mes variables.

    Mon soucis ce trouve dans le faite que je ne peux pas faire 2 fois de suite cette manip sur 2 CSV différents car il m'affiche une erreur:
    Erreur d'éxécution '1004'
    La méthode 'Sheets' de l'objet '_Global' a échoué
    Par contre après l'erreur je peut relancer cette manip et cette fois ci ça fonctionne, en bref ça marche un coup sur 2 en quelque sortes
    Voici le code:
    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
    Private Sub Command0_Click()
        Me!Text1 = LaunchCD(Me) 'Séléction du fichier 
    End Sub
     
    Private Sub open_Click()
    Dim OpiXls As Excel.Application
    Dim OpiBook As Excel.Workbook
    Dim OpiSheet As Excel.Worksheet
    Set OpiXls = New Excel.Application 'ouverture de Excel
    OpiXls.Visible = True
    Set OpiBook = OpiXls.Workbooks.Open(Text1) 'Ouverture du classeur
    OpiBook.Worksheets.Add.Name = "A_export" 'Création de la nouvelle Feuille
    OpiBook.Sheets(2).Cells(2, 1).Copy Sheets(1).Cells(1, 1)
    OpiBook.Sheets(2).Cells(2, 9).Copy Sheets(1).Cells(1, 2)
    OpiBook.Sheets(2).Cells(2, 10).Copy Sheets(1).Cells(1, 3)
    OpiBook.Sheets(2).Cells(2, 11).Copy Sheets(1).Cells(1, 4)
    OpiBook.Sheets(2).Cells(5, 7).Copy Sheets(1).Cells(1, 5)
    OpiBook.Sheets(2).Cells(5, 10).Copy Sheets(1).Cells(1, 6)
    OpiBook.Sheets(2).Cells(5, 14).Copy Sheets(1).Cells(1, 7)
    OpiBook.Sheets(2).Cells(8, 7).Copy Sheets(1).Cells(1, 8)
    OpiBook.Sheets(2).Cells(8, 10).Copy Sheets(1).Cells(1, 9)
    OpiBook.Sheets(2).Cells(8, 14).Copy Sheets(1).Cells(1, 10)
    Dim Pathfile As String
    Dim NameFile As String
    Dim CompletPath As String
    NameFile = Today + Text2 + ".xls"
    Pathfile = "C:\Documents and Settings\ls-immuno\Mes Documents\OPI\"
    CompletPath = Pathfile + NameFile
    OpiBook.SaveAs FileName:=CompletPath, FileFormat:=xlNormal, CreateBackup:=False 'enregistrement en XLS
    OpiBook.Close
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "RecapDataOpi", _
    CompletPath, False, "A_export!" 'Importation des données dans table access
    OpiXls.Quit
    Set OpiXls = Nothing
    Set OpiBook = Nothing
    Set OpiSheet = Nothing
    Text1 = Nothing
    NameFile = ""
    Pathfile = ""
    DoCmd.Close A_FORM, "ImportData"
    DoCmd.OpenForm "ImportData"
    End Sub
    J'espère avoir été clair dans l'exposition de mon soucis et je merci par avance de vos conseils

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Bonjour et bienvenue,

    Pourquoi passer par excel pour importer des données d'un csv ?

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.TransferText acImportDelim, "specification d'import", "tableDImport", "Chemin\fichierImporte.csv"
    peut très bien remplir cet office.
    Quitte à importer dans une table temporaire et à isoler les enregistrement pour les retraiter avant insertion dans la table d'exploitation.

  3. #3
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    salut

    essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim xlSheet As Excel.Worksheet 'déclaration de l'onglet
    Set xlSheet = xlBook.Worksheets("nom onglet") 'assignation 
    xlSheet.Cells(i, 1) = 'blabla' le reste
    bon courage !!

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Oleff Voir le message
    Bonjour et bienvenue,

    Pourquoi passer par excel pour importer des données d'un csv ?

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Docmd.TransferText acImportDelim, "specification d'import", "tableDImport", "Chemin\fichierImporte.csv"
    peut très bien remplir cet office.
    Quitte à importer dans une table temporaire et à isoler les enregistrement pour les retraiter avant insertion dans la table d'exploitation.
    Je fais comme ça pour qu'il s'ouvre avec les cellules déja séparées et non tout sur un e ligne avec les comma(séparateurs) et garder une trace en fichier xls, et de plus je ne copie que quelques cellules qui sont toujours positionner au meme endroit.
    De plus j'ai essayé ton code et je n'arrive pas à importer correctement, je m'eplique:
    Il importe tout dans un seul champ sans prendre en compte la séparation par le comma

    Mais avant tout, j'aimerais comprendre pourquoi est ce que je ne peux pas faire ma manip 2 fois consécutivement, est ce un problème de réinitialisation du presse papiers ou autre??.....
    Alors que qd je je clique sur fin au moment du message d'erreur et que je recommence ma manip ça marche.........

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Citation Envoyé par Schat6903 Voir le message
    Je fais comme ça pour qu'il s'ouvre avec les cellules déja séparées et non tout sur un e ligne avec les comma(séparateurs) et garder une trace en fichier xls, et de plus je ne copie que quelques cellules qui sont toujours positionner au meme endroit.
    De plus j'ai essayé ton code et je n'arrive pas à importer correctement, je m'eplique:
    Il importe tout dans un seul champ sans prendre en compte la séparation par le comma
    L'import avec un séparateur particulier "," dans ton cas, nécessite, la création d'une spécification dans laquelle tu peux aussi préciser les colonnes à importer... Le séparateur par défaut étant le ";" sans spécification, il ne crée qu'un seul champ.
    Citation Envoyé par Schat6903 Voir le message
    Mais avant tout, j'aimerais comprendre pourquoi est ce que je ne peux pas faire ma manip 2 fois consécutivement, est ce un problème de réinitialisation du presse papiers ou autre??.....
    Alors que qd je je clique sur fin au moment du message d'erreur et que je recommence ma manip ça marche.........
    Sans certitude aucune, tu as peut-être un problème de libération des objets excel. Je pense qu'il vaut mieux libérer les objets dans l'ordre inverse de leur création pour respecter le modèle (une Sheet est contenue dans un Workbook, lui même contenu dans un Excel.Application).
    J'écrirais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Set OpiSheet = Nothing
    Set OpiBook = Nothing
    OpiXls.Quit
    Set OpiXls = Nothing
    Mais pas sûr que ça viennent de là !
    Si tu pouvais préciser sur quelle ligne l'erreur survient, ça serait peut-être plus clair...

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    l'erreur se situe la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OpiBook.Sheets(2).Cells(2, 1).Copy Sheets(1).Cells(1, 1)
    c'est pour ça que je me disais que cela venais peut etre du fait qu'il a toujours en mémoire l'ancienne valeur??

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Toujours dans le grigri de sorcier
    essaie de passer l'import après la fermeture du classeur.
    Cela permet de bien séparer les appels à excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set OpiSheet = Nothing
    Set OpiBook = Nothing
    OpiXls.Quit
    Set OpiXls = Nothing
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "RecapDataOpi", _
    CompletPath, False, "A_export!" 'Importation des données dans table access
    Sinon, ça peut être un problème d'index sur ta feuille sheet(2). Est-tu sûr de l'index numérique ?

  8. #8
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    défini ton onglet comme je te l'ai mis en exemple plus haut et essaie de nouveau ...

    par contre, meme avis pour l'onglet "2" vérifie le nom....

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par koyot3 Voir le message
    défini ton onglet comme je te l'ai mis en exemple plus haut et essaie de nouveau ...

    par contre, meme avis pour l'onglet "2" vérifie le nom....
    Quel onglet Sélectionner, celui qui contient les données ou celui dans lequel je vais coller mes données.?
    Si il s'agit de celui qui contient les données je ne peux le selectionner avec le nom car il varie avec le nom du csv.
    j'essaie de le selectionner avec son index

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    je viens de déclarer la worksheets comme prédemment citer et ça me mets toujours la meme erreur au meme endroit que je déclare la sheets qui contient les données a copier, que celle qui est vierge

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Oleff Voir le message
    Toujours dans le grigri de sorcier
    essaie de passer l'import après la fermeture du classeur.
    Cela permet de bien séparer les appels à excel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set OpiSheet = Nothing
    Set OpiBook = Nothing
    OpiXls.Quit
    Set OpiXls = Nothing
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "RecapDataOpi", _
    CompletPath, False, "A_export!" 'Importation des données dans table access
    Sinon, ça peut être un problème d'index sur ta feuille sheet(2). Est-tu sûr de l'index numérique ?
    Alors je viens de tester et toujours la meme erreur au meme endroit et oui je suis sur de mon index

    Persévérance est mère de réussite........
    Courage

    PS: existe t'il un code pour vider le presse papiers, sachant que j'utlise la fonction copy, mes valeurs doivent bien etre quelques part et peut etre devrai je le supprimer a la fermeture d'excel.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Perséverons dans l'optique de déclaration des Feuilles
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set OpiSheetImport = opiBook.sheets("feuilleCsv")
    Set OpiSheetAExport = opiBook.sheets("feuilleExport")
    Tu devrais donc avoir à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    OpiBook.Sheets(2).Cells(2, 1).Copy Sheets(1).Cells(1, 1)
    OpiBook.Sheets(2).Cells(2, 9).Copy Sheets(1).Cells(1, 2)
    OpiBook.Sheets(2).Cells(2, 10).Copy Sheets(1).Cells(1, 3)
    OpiBook.Sheets(2).Cells(2, 11).Copy Sheets(1).Cells(1, 4)
    OpiBook.Sheets(2).Cells(5, 7).Copy Sheets(1).Cells(1, 5)
    OpiBook.Sheets(2).Cells(5, 10).Copy Sheets(1).Cells(1, 6)
    OpiBook.Sheets(2).Cells(5, 14).Copy Sheets(1).Cells(1, 7)
    OpiBook.Sheets(2).Cells(8, 7).Copy Sheets(1).Cells(1, 8)
    OpiBook.Sheets(2).Cells(8, 10).Copy Sheets(1).Cells(1, 9)
    OpiBook.Sheets(2).Cells(8, 14).Copy Sheets(1).Cells(1, 10)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sheetExport.Cells(2, 1).Copy sheetImport.Cells(1, 1)
    sheetExport.Cells(2, 9).Copy sheetImport.Cells(1, 2)
    sheetExport.Cells(2, 10).Copy sheetImport.Cells(1, 3)
    ...

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Question bete, pourquoi ça marche un coup et pas apres???

    Parce que des je j'ouvre access et que je fais une première importation ça roule nickel, je relance une seconde importation sur un fichier csv différents (normal) la ça marche plus, alors que les fichiers ont la meme configuration et des données similaires.

    Je comprend pas pourquoi l'erreur viendrait d'une déclaration alors que ça marche à l'importation 1 et pas a la seconde.

    Je ne met pas en doute tes conseils mais , je comprend pas ton raisonnement, pourquoi la déclaration de la feuille jouerait un role sachant que lorsque je créer ma nouvelle feuille elle vient toujours se placer avant celle qui contient mes données et par conséquent son index sera toujours 1, et la feuille contenant les données aura toujours au final l'index 2.

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Différentes possibilités :
    - problème de libération des objets (appli, classeur...)
    - problème d'indexation de tes feuilles
    - problème de passage de références
    - gros caprice d'access !!!

    L'erreur levée me fait penser à un problème de références.
    Il plante sur l'ouverture de la collection sheets du classeur...

    Pour vérification essaie d'ajouter un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug.print OpiBook.Sheets("nomDeTaPremièreFeuille").index
    Debug.print OpiBook.Sheets("nomDeTaDeuxièmeFeuille").index

  15. #15
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    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
    Private Sub open_Click()
    Dim OpiXls As Excel.Application
    Dim OpiBook As Excel.Workbook
    Dim OpiSheet As Excel.Worksheet
    Dim OpiSheetImprt As Excel.Worksheet
    Dim OpiSheetExprt As Excel.Worksheet
    Set OpiXls = New Excel.Application
    OpiXls.Visible = True
    Set OpiBook = OpiXls.Workbooks.Open(Text1)
    OpiBook.Worksheets.Add.Name = "A_export"
    Set OpiSheetImprt = OpiBook.Worksheets("A_export")
    Set OpiSheetExprt = OpiBook.Worksheets(2)
    OpiSheetExprt.Cells(2, 1).Copy OpiSheetImprt.Cells(1, 1)
    OpiSheetExprt.Cells(2, 9).Copy OpiSheetImprt.Cells(1, 2)
    OpiSheetExprt.Cells(2, 10).Copy OpiSheetImprt.Cells(1, 3)
    OpiSheetExprt.Cells(2, 11).Copy OpiSheetImprt.Cells(1, 4)
    OpiSheetExprt.Cells(5, 7).Copy OpiSheetImprt.Cells(1, 5)
    OpiSheetExprt.Cells(5, 10).Copy OpiSheetImprt.Cells(1, 6)
    OpiSheetExprt.Cells(5, 14).Copy OpiSheetImprt.Cells(1, 7)
    OpiSheetExprt.Cells(8, 7).Copy OpiSheetImprt.Cells(1, 8)
    OpiSheetExprt.Cells(8, 10).Copy OpiSheetImprt.Cells(1, 9)
    OpiSheetExprt.Cells(8, 14).Copy OpiSheetImprt.Cells(1, 10)
    Dim Pathfile As String
    Dim NameFile As String
    Dim CompletPath As String
    NameFile = Today + Text2 + ".xls"
    Pathfile = "C:\Documents and Settings\ls-immuno\Mes Documents\OPI\"
    CompletPath = Pathfile + NameFile
    OpiBook.SaveAs FileName:=CompletPath, FileFormat:=xlNormal, CreateBackup:=False
    OpiBook.Close
    Set OpiSheet = Nothing
    Set OpiBook = Nothing
    OpiXls.Quit
    Set OpiXls = Nothing
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "RecapDataOpi", _
    CompletPath, False, "A_export!"
    Text1 = Nothing
    NameFile = ""
    Pathfile = ""
    DoCmd.Close A_FORM, "ImportData"
    DoCmd.OpenForm "ImportData"
    End Sub
    ça marche
    En effet c'était la déclaration,

    Merci beaucoup pour votre aide

    PS: j'ai pas testé ton derniers code, et je n'aurais pas pu car le nom de la feuille qui contient les données brutes change a chaque fichier csv

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Comme quoi la persévérence !

    Par contre je pense quand même qu'un transfertext avec spécification serait moins lourd !

    @+

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Techicien Biologiste
    Inscrit en
    Août 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Techicien Biologiste
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Août 2008
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Oleff Voir le message
    Comme quoi la persévérence !

    Par contre je pense quand même qu'un transfertext avec spécification serait moins lourd !

    @+
    Tu peux me dire à quoi correspond "specification d'import" et comment bien le configurer s'il te plait

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 427
    Points : 520
    Points
    520
    Par défaut
    Tu fais l'import à la main
    Clic droit, importer
    Tu spécifies le type texte (txt, csv...)
    Access t'ouvre l'assistant d'import.

    Tu cliques sur avancé et tu précises les champs qui t'interessent.
    Tu cliques sur enregister sous et tu nommes ta spec.
    A partir de l'enregistrement, la spécification devient consultable dans les tables systèmes MSysIMEXSpecs (pour les paramètres de fichiers) et MSysIMEXColumns (pour les paramètres de champ) ou par rechargement lors d'un import à la main (bouton paramètre).
    Et plus important elle devient exploitable en vba ou par macro.

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

Discussions similaires

  1. Automatiser des données d'Excel vers ACCESS
    Par pouii dans le forum Excel
    Réponses: 8
    Dernier message: 21/02/2008, 15h02
  2. Import de données de Excel vers Access
    Par kdestine dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/09/2007, 11h48
  3. Importation de données d'Excel vers Access
    Par jolemoine dans le forum Access
    Réponses: 9
    Dernier message: 13/07/2007, 14h56
  4. problème copie Tableau de Excel vers Word
    Par el_titou007 dans le forum VBA Word
    Réponses: 2
    Dernier message: 02/04/2007, 09h42
  5. [VBA-E]Exporter des données d'Excel vers Access
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/06/2006, 15h57

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