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 :

Synchroniser 2 BDD - demande de méthode


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut Synchroniser 2 BDD - demande de méthode
    Bonjour,
    J'ai 2 fichiers pratiquement identiques, l'un destiné à un secteur (F1), l'autre en ligne pour tout le monde (F2). La seule différence entre les 2, c'est que celui destiné au secteur donne plus d'information que l'autre ; ces informations sont données par USF.

    Aujourd'hui, lorsque que j'ai une mise à jour à faire, j'ouvre le fichier (F1), depuis un bouton Mise à jour, je dévérouille, rend visible la feuille BDD.
    Puis j'ouvre le 2ème (F2), clique sur le même bouton pour visualiser la feuille BDD, supprime la feuille BDD et déplace / Copie celle du fichier F1 vers le F2.

    Les mises à jour deviennent plus fréquentes que prévues, je voudrais donc automatiser ce travail.
    Ma question est donc, dois-je faire une macro qui reprend ce que je fais manuellement ou est-il possible de prodécer sans avoir à ouvrir le 2ème fichier F2 ?

    J'ai déjà essayé la 1er méthode, mais ça bloque à l'ouverture de F2 qui s'ouvre mais en parallèle, je reçois le message "Un composant ActiveX ne peut pas créer d'objet".
    En réalité, quand on ouvre F2, dans le thisWorkbook il est prévu d'ouvrir le USF de F2 qui porte le même nom que celui de F1.

    Il y a encore la possibilité de supprimer la BDD de F2 et de faire des liens entre le USF F2 et la BDD de F1, mais F1 sera fermé et ça m'oblige à reprendre beaucoup de code ?

    Avant de commencer une de ces 3 méthodes, j'ai donc besoin de vos conseils svp.
    Laquelle est la plus pertinente ?

    D'avance, merci de vos conseils.

  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

    Je trouve que synchroniser des fichiers Excel tient vite de l'usine à gaz.

    Si les deux fichiers sont sur le même serveur, il serait plus simple que F2 contienne les données de F1 via une requête. Ainsi toute évolution de F2 est répercutée.

    Cependant on ne sait pas l'usage fait de ces fichiers et cela n''est pas neutre dans le choix d'une solution.

  3. #3
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    Perso j'utilise ça. Je l'ai adapté en fonction des noms que tu as donné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub export()
    Dim F1 As Workbook
    Dim F2 As Workbook
     
    Set F1 = ThisWorkbook
    Set F2 = Application.Workbooks.Open(ThisWorkbook.Path & "\f2.xlsx")
    F1.Sheets("BDD").Cells.Copy F2.Sheets("BDD").Cells(1, 1)
    F2.Sheets("BDD").Visible = xlSheetHidden
    F2.Close True
    End Sub

  4. #4
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut
    Bonjour Chris
    Merci de ta réponse
    Si les deux fichiers sont sur le même serveur, il serait plus simple que F2 contienne les données de F1 via une requête
    Oui les 2 fichiers sont sur le même serveur et sur le même répertoire à l'origine. cependant nos services informatiques font une synchronisation toutes les semaines de F2 sur un autre serveur qui donne l'accès à tous les utilisateurs...

    Qu'est-ce que tu entends par via une requête ? stp

    Cependant on ne sait pas l'usage fait de ces fichiers
    c'est un habillage de base de données par USF style tu saisies un code postal et tu retrouves la ville, le département, la région et la femme du préfet ;>

  5. #5
    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

    Excel contient un requêteur, MsQuery, qui permet de récupérer certaines colonnes d'une liste d'un fichier Excel comme on le fait avec des requêtes dans une base de données.

    Avantage ce sont les données initiales qui sont affichées dans le second fichier, donc pas de décalage possible de la mise à jour mais on ne peut depuis ce fichier modifier la source, juste l'exploiter.

    Cependant si les 2 serveurs ont des droits d'accès différents ou ne sont pas visibles pour tous les utilisateurs cela risque de ne pas marcher.

Discussions similaires

  1. Synchroniser deux bdd Sql server et mysql
    Par youcef81 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 01/03/2012, 12h18
  2. [AJAX] Listes déroulantes synchronisées sur bdd
    Par Hefgé dans le forum Général JavaScript
    Réponses: 48
    Dernier message: 13/03/2009, 14h53
  3. Synchroniser deux bdd
    Par david06600 dans le forum Toad
    Réponses: 4
    Dernier message: 10/01/2008, 09h11
  4. [SQL2005-VS2005] Synchronisation de bdd
    Par toniolol dans le forum Accès aux données
    Réponses: 1
    Dernier message: 05/06/2007, 07h17
  5. Synchronisation à l'intérieur d'une méthode
    Par Péchereau dans le forum Langage
    Réponses: 14
    Dernier message: 27/04/2007, 11h31

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