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 :

M.A.J. table ACCESS depuis un fichier EXCEL avec plusieurs feuilles


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur occasionnel
    Inscrit en
    Février 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur occasionnel
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut M.A.J. table ACCESS depuis un fichier EXCEL avec plusieurs feuilles
    Bonjour.

    Ceci est ma première visite, pour une question à laquelle je ne trouve pas réponse dans l'aide.

    je souhaite mettre à jour une table ACCESS depuis un fichier EXCEL, mais qui comporte plusieurs feuilles. je ne sais pas comment indiquer ceci dans la formule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "oa", "C:\Users\BN2\Desktop\oa_manquants.xlsx", True
    A noter que pour cet exemple, le fichier oa_manquants ne comporte qu'une seule feuille.

    Merci de votre aide.

    Bruno.

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

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

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Pour reprendre des feuilles entières, la commande est à compléter avec le nom de la feuille avec un $ en fin.
    "Feuille 1" ==> "Feuille 1$"

    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, "oa", "C:\Users\BN2\Desktop\oa_manquants.xlsx", True,"Feuille 1$"

    Attention,
    - la ligne 1 doit être la ligne des titres
    - éviter d'avoir des feuilles dont la ligne des titres est incomplète ou avec des colonnes vides.
    - dans une colonne de données ne pas avoir des nombres et des textes mélangés
    - par défaut, Access va utiliser ce qui se trouve dans la ligne 1 comme nom de champ
    - par défaut, Access va utiliser ce qui se trouve dans la ligne 2 comme type de champ
    - si un nombre est en ligne 2: c'est un champ numérique
    - si un texte est en ligne 2: c'est un champ texte
    donc éviter d'avoir en ligne 2 l'une ou l'autre cellule vide: si nécessaire y mettre une valeur temporaire juste pour forcer le type.

    Personnellement, je n'aime pas les TransferSpreadsheet en importation.
    Ma méthode est la suivante:
    - créer la table comme elle doit être,
    - lier la feuille Excel à la db,
    - créer une requête ajout des données Excel dans la table,
    - "voir" ce qui va être importé ... et réajuster la requête si nécessaire,
    - exécuter la requête ajout.

    Bonne continuation.

Discussions similaires

  1. [AC-2010] erreur 3251 VBA access Office 2010
    Par jpfor17 dans le forum VBA Access
    Réponses: 1
    Dernier message: 11/04/2012, 10h42
  2. [AC-2010] Après installation d'Office 2010, impossible lancer Access
    Par lemalif dans le forum Access
    Réponses: 2
    Dernier message: 06/03/2012, 13h43
  3. Office 2010 : vidéo sur les champs calculés Access 2010
    Par Maxence HUBICHE dans le forum Access
    Réponses: 18
    Dernier message: 11/01/2010, 03h27

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