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 :

macro pour deproteger un fichier en liaison avec mot de passe lecture


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    j'ai 2 fichiers,
    "source" et "recup"
    "source" contient en a1 : 123
    mon fichier "recup" a une liaison vers source pour recuperer cette valeur en a1 aussi.

    mon probleme est que "source" a un mot de passe pour la lecture/modification
    et a chaque fois que j'ouvre "recup" on me demande le mot de passe de "source" et la mise a jour n'est pas systematique, non plus.

    je voudrais avoir une macro sur "recup" sur l'ouverture,
    de facon à pouvoir ecrire mon mot de passe si on me le demande pour la mise a jour,

    j'ecrirais mon mot de passe dans le fichier "recup" en (f1)
    et j'en recupere la valeur a renseigner si un mot de passe est demander pour "source".

    est-ce possible ?

    Merci !!!

    julien

    je reformule,

    j'ai 1 fichier excel en liaison avec autre fichier qui contient un mot de passe pour la lecture..
    a chaque ouverture de mon fichier, je suis obligé de saisir le mot de passe.. pour effectuer les mises a journ

    y a t il une macro qui pourrait dire

    si le fichier lié demande un mot de passe alors mot de passe = 1234

    merci ...

    je suis assez embeter avec ça...

    Julien

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    inspires-toi de ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WorkBooks.Open "C:\chemin complet\monClasseur1.xls", Password:="Toto"
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    OK !
    comment pourrais je faire pour avoir un code du style,
    si le workbook demande un mot de passe, alors password = 1234

    c'est possible... ?

    il faudrait en fait, un truc comme :
    si le linksource demande un mot de passe, alors
    password = 123

    c'est chaud, j'y arrive pas !!

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je ne comprends plus car dans ma solution je te propose d'intégrer le passeport dans le code, j'ai mis toto mais pourquoi pas 123
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    oui, mais ca necessite d'ouvrir le workbooks...
    peut on le faire sans l'ouvrir,
    et surtout,... c'est qu'il est possible que dans mon utilisation,
    le fichier soit ou pas protegé...
    et s'il n'est pas protegé et que j'entre le parametre password... ca va beugué...
    donc,
    il me faut un code qui verifie si excel va demander un mot de passe pour le fichier, et si oui... alors on l'indique...

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    re,
    j'ai 1 fichier excel en liaison avec autre fichier qui contient un mot de passe pour la lecture..
    a chaque ouverture de mon fichier, je suis obligé de saisir le mot de passe.. pour effectuer les mises a journ
    déjà là tu ouvres le fichier
    peut on le faire sans l'ouvrir,
    oui mais autre manipulation à voir dans le forum avec les connections d'un classeur fermé
    et s'il n'est pas protegé et que j'entre le parametre password...
    par contre, je ne connais pas le moyen de connaitre à l'avance si un fichier est protégé ou non
    il me faut un code qui verifie si excel va demander un mot de passe pour le fichier, et si oui... alors on l'indique...
    ça se fait normalement avec les boites de dialogue excel
    j'ai l'impression d'être largué par rapport à ta demande

    Bonne nuit,
    Demain j'irais peut-être mieux (fatigue)
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    re,

    j'ai 1 fichier excel en liaison avec autre fichier qui contient un mot de passe pour la lecture..
    a chaque ouverture de mon fichier, je suis obligé de saisir le mot de passe.. pour effectuer les mises a journ
    déjà là tu ouvres le fichier

    ben non, je n'ouvre pas le fichier source qui a le mot de passe.. mais celui qui
    essaie de recuperer les infos...
    sinon, avec les fichiers ouverts... ca marche !

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour djoumusic, le forum

    Je pense mieux cerner ta demande mais pour l'instant je ne vois pas la solution , si je peux (question de temps), je regarderai si des solutions existent.

    Bonne journée en attendant, en espérant que quelqu'un connaisse la réponse

    je viens de lire cet article et pour lire dans un classeur fermé (si cet article est toujours d'actualité) tu es mal barré
    http://silkyroad.developpez.com/VBA/ClasseursFermes/

    Bon courage
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    mais non...
    on lit bien par liaison quand le fichier n'est pas protegé par un mot de passe..
    là il faut juste connaitre le nom de la boite de dialogue qui s'ouvre pour nous demander le mot de passe, et dire a notre fichier dans le thisworkbook,
    si cette boite de dialogue, alors ce mot de passe...
    qu'est ce que vous en pensez...???

  10. #10
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    oui mais excel ouvre quand même le classeur même s'il ne te le montre pas.
    L'informatique ça reste pragmatique, et Excel n'a pas de boule de cristal pour voir le contenu d'un fichier sans l'ouvrir.

    Sinon le raisonnement que tu fais n'est pas le bon. Tu ne parviendras pas simplement à intercepter la fenêtre de demande de mot de passe pour la renseigner automatiquement. Ca va être une complication pour rien.

    Si tu pars sur l'idée qui t'a été proposée:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    on error resume next
    'ouvre le classeur sans erreur qu'il ait ou non un mot de passe
    WorkBooks.Open "C:\chemin complet\monClasseur1.xls"
    WorkBooks.Open "C:\chemin complet\monClasseur1.xls", Password:="Toto"
    on error goto 0
    'recopie les valeurs de la source à la cible, à adapter
    Workbooks("classeur cible.xls").Worksheets("feuille cible").Range("plage cible").value= _
    Workbooks("monClasseur1.xls").Worksheets("feuille source").Range("plage source").value

  11. #11
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    ok je vais essayer comme ca,
    je peux mettre mon mot de passe dans une cellule ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WorkBooks.Open "C:\chemin complet\monClasseur1.xls", Password:= range("a1").value
    je plante total : voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test2()
     
     
    On Error Resume Next
    'ouvre le classeur sans erreur qu'il ait ou non un mot de passe
    Workbooks.Open "C:\Users\Djou\Desktop\source.xls"
    Workbooks.Open "C:\Users\Djou\Desktop\source.xls", Password:="Toto"
    On Error GoTo 0
    'recopie les valeurs de la source à la cible, à adapter
    Workbooks("recup.xls").Worksheets("feuil1").Range("a1").Value = _
    Workbooks("source.xls").Worksheets("feuil1").Range("c4").Value
     
    End Sub
    lorsque je le lance en pas à pas,
    a l'ouverture, du fichier le mot de passe m'est demandé..
    et ensuite, lorsque je clique sur annuler pour continuer la procedure,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks("recup.xls").Worksheets("feuil1").Range("a1").Value = _
    Workbooks("source.xls").Worksheets("feuil1").Range("c4").Value
    m'envoie un message d'erreur,
    n'appartient pas a la selection...

  12. #12
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    cepandant en faisant comme ça..
    ca semble fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro1()
     
        Range("A1").Select
        Workbooks.Open "C:\Users\Djou\Desktop\AVRIL 2010\BRASSERIE avril 2010p.xls", Password:=123
        Workbooks("recup").Activate
        ActiveCell.FormulaR1C1 = "='C:\Users\Djou\Desktop\AVRIL 2010\[BRASSERIE avril 2010p.xls]Planning'!R[3]C[2]"
        Workbooks("source").Close
     
        Range("A2").Select
     
    End Sub
    par contre j'ai à chaque ouverture de fichier la demande du mot de passe...
    et ça c'est embetant !

  13. #13
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour le forum, djoumusic
    par contre j'ai à chaque ouverture de fichier la demande du mot de passe...
    et ça c'est embetant !
    si tu as la demande de mot de passe avec le mot de passe estompé à l'intérieur, il suffit de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Macro1()
        APPLICATION.DisplayAlerts = false 'enleve la boite de dialogue
        Range("A1").Select
        Workbooks.Open "C:\Users\Djou\Desktop\AVRIL 2010\BRASSERIE avril 2010p.xls", Password:=123
        Workbooks("recup").Activate
        ActiveCell.FormulaR1C1 = "='C:\Users\Djou\Desktop\AVRIL 2010\[BRASSERIE avril 2010p.xls]Planning'!R[3]C[2]"
        Workbooks("source").Close
        APPLICATION.DisplayAlerts = true 'remet la boite de dialogue
        Range("A2").Select
     
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  14. #14
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    mais, non,
    ce n'est pas a l'execution de la macro que j'ai la demande
    c'est a l'ouverture du fichier...
    j'ai mis Application.DisplayAlerts = False dans thisworkbook open, ca ne fait rien
    ni en auto_open dans un module..

    je ne sais pas comment faire...

  15. #15
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je ne comprends pas, j'ai fait un essai adapté simplement avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
        Application.DisplayAlerts = False 'enleve la boite de dialogue
        Range("A1").Select
        Workbooks.Open "C:\Users\Dominique\Documents\essai.xls", Password:=123
    End Sub
    et je n'ai eu la boite de dialogue
    d'autre part, je ne saisis pas non plus ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
     
        Range("A1").Select
        Workbooks.Open "C:\Users\Djou\Desktop\AVRIL 2010\BRASSERIE avril 2010p.xls", Password:=123
        Workbooks("recup").Activate
    '....
    si recup est vraiment le nom de fichier, il faut ecrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Windows("recup.xls").Activate
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    '...
     ActiveCell.FormulaR1C1 = "='C:\Users\Djou\Desktop\AVRIL 2010\[BRASSERIE avril 2010p.xls]Planning'!R[3]C[2]"
        Workbooks("source").Close
    et là c'est quoi "source", ça ne serait pas plutot "BRASSERIE avril 2010p.xls"
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  16. #16
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    désolé je ne suis pas allé assez loin dans le code

    essaie comme ça

    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
    Sub test2()
     
    'ouvre le classeur sans erreur qu'il ait ou non un mot de passe
    On Error GoTo Erreur
    Workbooks.Open "C:\Users\Djou\Desktop\source.xls", Password:="toto"
    On Error GoTo 0
    'recopie les valeurs de la source à la cible, à adapter
    Workbooks("recup.xls").Worksheets("feuil1").Range("a1").Value = _
    Workbooks("source.xls").Worksheets("feuil1").Range("c4").Value
     
    Exit Sub
    Erreur:
    Workbooks.Open "C:\Users\Djou\Desktop\source.xls"
    Resume Next
    End Sub
    et oui tu peux stocker le mot de passe dans une cellule

  17. #17
    Membre régulier

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Points : 102
    Points
    102
    Billets dans le blog
    1
    Par défaut
    ok vos proposition, fonctionne,
    donc je dois configurer mes liaisons pour chaque ouverture,
    de maniere à ce que mes cellules n'est que des valeurs et qu'elle n'est plus de liaisons...
    car avec mon code, j'inscris dans ma cellule la liaison du type "=c/......"

    et qu'une fois les cellules, remplient... ben forcement a chaque ouverture
    j'ai la demande de mot de passe avec ou sans application.display = false

    c'est ça ?

Discussions similaires

  1. [AC-2007] Fichier Excel liée avec mot de passe
    Par Line dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/05/2010, 07h02
  2. [Toutes versions] macro pour ouvrir un document protégé par un mot de passe
    Par lenul78570 dans le forum VBA Word
    Réponses: 3
    Dernier message: 21/04/2010, 20h19
  3. [Fichier INI] Application avec mot de passe
    Par fthdz dans le forum Delphi
    Réponses: 7
    Dernier message: 20/02/2007, 17h57
  4. Copy de fichier sur réseau avec mot de passe
    Par Guile dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 07/10/2005, 15h45
  5. [VB.NET] Fichier Excel vérouillé avec mot de passe
    Par rafano dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/06/2004, 14h36

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