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

Macros et VBA Excel Discussion :

VBA: Copier Excel / Coller Access


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Février 2012
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2012
    Messages : 2
    Points : 2
    Points
    2
    Par défaut VBA: Copier Excel / Coller Access
    Bonjour,
    Voici mon 1er post
    J'ai un feuille excel que je remplis tt les jours.... Certaines collonnes collees sont les memes que celle d'une table de ma database Excel
    Tout les jours je copie mes collonnes Excel et je les colles dans access.
    Cette operation manuelle prends 1 seconde et marche tres bien.

    Je cherche un moyen de l'automatiser en utilisant VBA. Je maitrise tres bien VBA sur Excel, mais je ne sais absolument pas comment manipuler access avec.
    Qui aurait un code ou un morceau de code que je pourrais adapter pour faire ca. car je souhaiterais ajouter les donnees anterieures d'il ya 5 ans et dc ca fait environ 500 fichier excel a ouvrir et a copier coller

    Merci bcp

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Points : 37
    Points
    37
    Par défaut
    Quelques bouts de code, et quelques idées, à l'origine pour l'intégration de données dans des fichiers textes, a adapter donc :
    A partir d'Access, un formulaire avec un bouton et un textbox5:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim STreet As String
    1 STreet = "chemin\" & Me.Texte5
    Me.Texte5 = SaveFile(STreet, allfiles)
    Name Me.Texte5 As "chemin\import.txt"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     'efface les champs de la table "AA ..."
     DoCmd.SetWarnings False
     CurrentDb.Execute "DELETE * From [AA ...]"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ‘Importe les données dans une table, fait une recherche sur Docmd.TransferText
    DoCmd.TransferText acImportDelim, "Table liée Spécification d'attache", "AA …", "chemin\import.txt", False
    Exécute les requêtes d'ajout de tes colonnes dans une table séparée.
    Ferme les requêtes
    détruis le fichier import
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    kill "chemin\import.txt"
    et recommence au début
    Restera 500 clicks
    Sauf à boucler directement sur les fichiers, mais je ne sais pas faire... (Indulgence pour mon code, je ne suis pas bon en VBA, mais j'essaye de m'améliorer !)

  3. #3
    Membre averti Avatar de XLRATOR
    Homme Profil pro
    Comptable Analyste
    Inscrit en
    Août 2012
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Comptable Analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2012
    Messages : 226
    Points : 356
    Points
    356
    Par défaut
    Bonsoir,
    Par contre je te propose de créer une table Liée dans ta BDD au lieu de le faire manuellement, de recourir à un code VBA, ou quoi que ce soit d'autre.

    ça doit être la solution idéale à ton souci.

    Cordialement.

    Karim
    Entre la canne à pèche et le poisson c'est certainement la canne que je choisirais, puis apprendrais à m'en servir.
    Si on vous souffle une solution au complet c'est que vous n'auriez rien compris du problème.
    Consultez la , de forte chances que votre problème y figure et c'est plus vite que de poser une question et en attendre la réponse.
    FAQ Excel: http://excel.developpez.com/faq/

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 32
    Points : 37
    Points
    37
    Par défaut
    Une table liée c'est le top pour un fichier qui change de temps en temps.

    Le souci, c'est les 500 .xls en stock...

    ca fait environ 500 fichier excel a ouvrir et a copier coller
    Sans vba, ça veut dire les sauvegarder 500 fois sous le nom du fichier lié, et exécuter 500 fois la requête pour importer les données...

    Mon code permet d'exécuter ces deux opérations en quatre clicks, mais répétées 500 fois, soit deux mille clicks

    Si quelqu’un pouvait s'y pencher et mettre une boucle à la place de la sélection de départ, cela n'en ferait plus que deux. Et je lui en serait reconnaissant, parce que je pourrais aussi améliorer et mon code et ma compréhension des boucles ...

Discussions similaires

  1. VBA outlook excel et access
    Par yoran56 dans le forum Général VBA
    Réponses: 0
    Dernier message: 07/07/2009, 14h24
  2. VBA Export Excel vers Access
    Par rabihm81 dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/05/2009, 13h54
  3. [VBA]demarrer Excel via Access
    Par ducater6 dans le forum Excel
    Réponses: 1
    Dernier message: 10/05/2007, 12h15
  4. Réponses: 1
    Dernier message: 19/12/2006, 16h12
  5. [VBA-E]Excel vers powerpoint : copier/coller spécial
    Par illight dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/09/2006, 12h41

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