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 :

Mise à jour de fichier excel via une BDD Access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut Mise à jour de fichier excel via une BDD Access
    Bonjour,

    J'ouvre ce post pour solliciter votre aide.

    Contexte:
    En effet, j'ai un fichier excel dans lequel différentes manipulation ont été faites afin de permettre la comparaison entre deux produits.
    Chaque produit correspond à un ensemble de composants. Ces composants peuvent être à la fois présent dans la composition d'un produit et d'un autre. L'objectif est de déterminer le nombre de communs (composants en communs que différents produits peuvent avoir).

    Problématique:
    Toutes les informations sur les produits et leurs composants sont disponibles dans une BDD Access, de nombreuses modification sont effectuées sur cette base. Ajout ou suppression d'un produit, d'un composant... Afin que mon fichier excel soit en corrélation avec cette base, j'aimerais pouvoir le mettre à jour.
    Pour ce faire je voudrais que les colonne "1" et "2" de mon onglet "produits" puisse être mis à jour grâce à ma base. Par conséquent l'onglet "matrice" qui fait références à tous les produits soit également mis à jour. Je sais que lorsque l'on a un TCD (tableau croisé dynamique) on peut faire appel à une source de données externe et actualiser le TCD. Mais est-il possible de le faire sans pour autant avoir à créer un TCD ?

    Merci d'avance.

    Fichier excel: http://www.cjoint.com/c/EFlgAFrohCM
    BDD Access compréssé: http://www.cjoint.com/c/EFlgOknFDIM

    N.B.: J'ai posté ce sujet sur un autre forum, n'ayant pas eu de réponse, je me permet de le poster aussi sur ce forum en espérant avoir vos avis.

  2. #2
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Il faut lier tes colonnes à ta source : cela semble être le cas car je vois des liaisons (3 qui semblent identiques). Excel rapatriant les données dans un tableau, les formules accolées suivent.

    Il suffit de paramétrer le timing de mise à jour de la liaison : à l'ouverture du fichier, toutes les heures... puis de relancer ta macro de construction de matrice.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut
    Bonjour,

    Tout d’abord merci de ta réponse.
    Qu'entends-tu par lier les colonnes ? Excel as une "application" qui le fait automatiquement ? Ou dois-je le faire via une macro (ce que j'aimerais éviter) ? Peux tu être un peu plus explicite ?

    Cdlt

  4. #4
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Re

    Dans un onglet vierge : Données, Zone Données externes (à gauche) : depuis Access. Sélectionner le fichier Access puis la table ou requête adéquate.
    Laisser Tableau et $A$1, cliquer sur propriétés et régler l'actualisation soit à l'ouverture du fichier soit toutes les n minutes, voire les 2, puis valider.

    Ajouter les colonnes de formules. Elle s'imbriquent dans le tableau et suivront donc le nombre de lignes de la source.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut
    Re & Merci beaucoup,
    J'ai bien effectué ce que tu m'as dis et ça fonctionne.
    J'ai donc bien toutes mes références dans mon onglet "produits" qui sont téléchargées de puis ma BDD Access.
    Dans l'onglet "composants" le tableau que je désire avoir est scrupuleusement le même que dans l'onglet "produits".
    Cependant,
    -La première colonne (A:A) contenant toutes mes références composants
    -La seconde colonne (B:B) contenant toutes mes références de produits correspondantes aux composants

    Le tableau étant trié sur la colonne "A" de A à Z.

    J'aimerais que ce tableau puisse ce mettre à jour automatiquement dès lors qu'il y a une modification dans le tableau de l'onglet "produits"

    Autrement dit :
    1. Le tableau dans "produits" dépend d'Access (C'est fait et fonctionnel, merci !)
    2. Le tableau dans "composants" dépend du tableau dans "produits" avec les préférences que j'ai cité ci-dessus (A faire)

    As-tu une solution que je pourrais mettre en place (formule, macro, manip, astuce...) ? L'important est de ne pas avoir à le toucher et qu'il se mette à jour tout seul..

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    regardes le fichier joint; surtout, dézip la totalité du répertoire sur tin disk dur!
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip TDC.zip (42,9 Ko, 218 affichages)

  7. #7
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Si c'était pour moi, je créerais 2 requête Access sur la table :
    • une avec les colonnes Ref_Produit et Ref_Compo triées sur Ref_Produit
    • l'autre sur les colonnes Ref_Compo et Ref_Produit triées sur Ref_Compo


    et j'établirai les 2 liens comme expliqué dans mon précédent post.

    C'est que qui sera le plus souple et le plus logique et sans risque de désynchronisation des 2 listes.

    Pour info, à partir du moment où on utilise des tableaux, on peut trouver le nombre de lignes de façon plus simple et plus sûre en VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("produits").ListObjects(1).ListRows.Count
    renvoie le nombre de ligne hors titre

    Edit : salut rdurupt , plus rapide et plus technique mais je il n'est pas sûr que cela réponde à la question qui n'est pas de faire un TCD...

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

Discussions similaires

  1. [AC-2010] Ouverture d'un fichier excel via une base access
    Par yliadis dans le forum Access
    Réponses: 4
    Dernier message: 07/10/2014, 16h47
  2. [AC-2003] Erreur importation fichier Excel dans une BDD
    Par Contrec dans le forum VBA Access
    Réponses: 5
    Dernier message: 27/08/2009, 14h59
  3. extraction d'un fichier excel dans une BDD SQL server
    Par saraenim dans le forum Développement
    Réponses: 4
    Dernier message: 03/10/2008, 13h58
  4. Réponses: 45
    Dernier message: 14/02/2008, 15h41

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