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

Contribuez Discussion :

Tester avant d'importer un fichier excel dans une table Access


Sujet :

Contribuez

  1. #1
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut Tester avant d'importer un fichier excel dans une table Access
    Voila un petit bout de code qui vérifie les noms des colonnes Excel avant d'importer un fichier dans une table Access

    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
    Sub OpenExcel(Optional ByVal pbAppVisible As Boolean)
        Set AppEx = CreateObject("Excel.Application")
        AppEx.Application.Visible = pbAppVisible
    End Sub
     
    Sub CloseExcel()
        AppEx.Quit
        Set AppEx = Nothing
    End Sub
     
    Sub ImportFichierExcel(ByVal FileName As String, ByVal TableName As String)
    Dim MaFeuille As Excel.Worksheet
    Dim I As Integer
    Dim vbFormatOk As Boolean
        OpenExcel False
        AppEx.Workbooks.Open FileName
        With AppEx
            vbFormatOk = True
            While I < CurrentDb.TableDefs(TableName).Fields.Count And vbFormatOk
                If CurrentDb.TableDefs(TableName).Fields(I).Name <> .Cells(1, I + 1) Then
                    vbFormatOk = False
                End If
                I = I + 1
            Wend
            If vbFormatOk Then
                vbFormatOk = (.Cells(1, I + 1) = "") 'test si la colonne suivante est bien vide
            End If
        End With
        CloseExcel
        If vbFormatOk Then
            DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, TableName, FileName, True
        Else
            MsgBox "Le format du fichier Excel n'est pas conforme !", vbExclamation
        End If
    End Sub
    A utiliser de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ImportFichierExcel "C:\Didier\Classeur1.xls","MaTable"
    @+


    Pensez au tag

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 337
    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 337
    Points : 19 572
    Points
    19 572
    Billets dans le blog
    65
    Par défaut
    Bonsoir,

    Belle idée, mais je ne vois pas où tu déclares la variable AppEx.

    Est-ce un oubli ou est-ce volontaire ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  3. #3
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Petit oubli effectivement

    Déclaration de la variable en entête de module :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Compare Database
    Option Explicit
     
    Dim AppEx As Excel.Application
    @+


    Pensez au tag

  4. #4
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 337
    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 337
    Points : 19 572
    Points
    19 572
    Billets dans le blog
    65
    Par défaut
    Salut,

    OK, ça fonctionne bien.

    Personnellement j'utilise en plus des variables Excel.Workbook et Excel.Worksheet et les libère à la fin de la procédure.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/02/2014, 23h02
  2. Réponses: 5
    Dernier message: 10/02/2014, 14h21
  3. Importation d'un fichier excel dans une table access
    Par cmaitre dans le forum VBA Access
    Réponses: 11
    Dernier message: 15/04/2008, 16h59
  4. importer un fichier excel dans une table
    Par joe370 dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/07/2007, 11h21
  5. Réponses: 7
    Dernier message: 04/10/2005, 18h21

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