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 automatique d'un classeur par un code vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 11
    Points
    11
    Par défaut mise à jour automatique d'un classeur par un code vba
    Bonsoir forum
    j'aimerai savoir comment peut on faire la mise ajour automatique des données d'un classeur qui sont les données d'un autre classeur par un code vba pour éviter la manipulation de mettre à jour les données de classeur par la boite de dialogue qui s'affiche lors de l'ouverture de classeur , le problème qui se pose est que le classeur source est fermé et protégé donc pour faire la mise a jour une boite de dialogue demande le mots de passe de classeur source pour éviter ce problème , j'ai pensé à un code qui permet d'ouvrir le classeur source des que le classeur de l'application est ouvert ,déprotéger le classeur source , puis ferme ce classeur et à la fermeture de classeur application on ouvre de nouveau le classeur source et on le protégé par l'ancien mots passe .
    j'aimerai juste deprotége le classeur source avnat la mise à jour de données de classeur application et aprées la mise a jour , j'aimeria le protéger de nouveau
    voici le code que je l'ai fait mais il ne repond pas à mes besoins
    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
    Private Sub Workbook_Open()
    'deprotégeer le classeur source
    Workbooks.Open Filename:="C:\Users\agora\Desktop\data base.xls", Password:="1111
     
        ActiveWorkbook.Password = ""
    Workbooks("data base.xls").Close
    'mise à jour de classeur aplication (j'ai pas touvé un code pour cette étape)
     
     
     
     
    'proégé de nouveau classeur source
     
    Workbooks.Open Filename:="C:\Users\agora\Desktop\data base.xls", Password:="1111"
    ActiveWorkbook.Protect (1111)
    Workbooks("data base.xls").Close
     
    End Sub

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    pour manipuler un classeur on l'ouvre dans une variable objet de type Workbook comme ci dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim wrk As Workbook
     
    'ouverture du classeur
    Set wrk = Application.Workbooks.Open("C:\Users\agora\Desktop\data base.xls", , , , "1111", "1111")
     
    'manipulation des données
    MsgBox wrk.Sheets("Feuil1").Range("A1").Value
     
    'Fermeture du classeur
    Wrk.Close
    Jérôme

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 11
    Points
    11
    Par défaut
    merci le probléme est que le classeur source ets fermé et protégé , je veux que la mise à jour du classeur soit automatique à l'ouverture de classeur application sans affichage de boite de dialogue de mise a jour

  4. #4
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    La ligne ci dessous ouvez un classeur qui est protégé par un mot de passe = 1111
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set wrk = Application.Workbooks.Open("C:\Users\agora\Desktop\data base.xls", , , , "1111", "1111")
    Est ce que tu connais le mot de passe du fichier à ouvrir?
    Jérôme

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 11
    Points
    11
    Par défaut
    j'ai des données dans un classeur "application" ces données sont en fonction d'autres données d'un autre classeur "data base"
    lorsque j'ouvre le classeur application nue boite de dialogue est affichée , elle me demande si je veux mettre à jour les données si je réponds par oui ielle me demande le mots de passe de classeur source qui est égale a 1111
    le problème est que l'utilisateur de le classeur "application " ne doit pas connaitre ce mots de passe car dans le classeur source data base il y' a des données confidentielles. donc j'aimerai un code vba qui permet de mettre a jour les données de le classeur application sans l'affichage de la boite de dialogue qui demande la mise a jour par le pots de passe de classeur source
    merci

  6. #6
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Dans ce cas qu'est ce qui te bloque dans le code proposé?
    Jérôme

  7. #7
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, ajouter qqch comme
    à Open ....

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 11
    Points
    11
    Par défaut
    MERCI POUR VOTRE REPONSE
    le code proposé ne réponds pas a mes besoins
    j'ai expliqué que j'aimerai un code pour mettre à jour les données du classeur application a partir d'un classeur source qui est fermé et protégé pae le mots de passe 1111

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'manipulation des données
    MsgBox wrk.Sheets("Feuil1").Range("A1").Value
    a quoi sert l'affichage de ce message ??

  9. #9
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Cette ligne est un exemple te permettant de voir que ton fichier protégré c'est bien ouvert.
    A toi d'appliquer tes mise a jour suivant ton besoin

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Sheets("Mafeuille").Range("A2").value = Wrk.Sheets("Source").Range("C6").Value
    Jérôme

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/03/2013, 14h43
  2. Classeur partagé - mise à jour automatique
    Par jarault dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/03/2012, 17h05
  3. mise à jour automatique tableau excel par macro
    Par fredo49 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/04/2011, 11h37
  4. Réponses: 4
    Dernier message: 02/06/2008, 14h03
  5. Mise à jour automatique par date
    Par man18 dans le forum Access
    Réponses: 2
    Dernier message: 25/01/2007, 11h06

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