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 workbooks.open, excel me demande le mdp alors que je lui donne


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2023
    Messages : 3
    Par défaut Macro workbooks.open, excel me demande le mdp alors que je lui donne
    Salut,

    J'ai 2 classeurs, un 1er où j'ai ma macro et un TCD et un 2ème où j'ai mes données sources de mon TCD et qui est protégé par mdp.
    J'ai fais une macro qui ouvre le fichier des données sources avec son mdp, pendant que ce fichier est ouvert, je rafraichis mon TCD puis je ferme le fichier des données sources :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub refresh_tables()
     
    Workbooks.Open "\\srvfichiers.yhk.local\Reporting\employees\salary.xlsx", Password:="0000"
    ThisWorkbook.RefreshAll
    Workbooks("salary.xlsx").Close Savechanges:=False
     
    End sub

    Cependant, le problème c'est que quand j’exécute ma macro, excel m'ouvre une fenetre pour me demander le mdp du fichier source alors que ce dernier est bien ouvert en fond.


    Merci d'avance pour toute réponse

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Par défaut
    Bonjour,
    Essayer ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub refresh_tables() 
    Dim password As String 
    password = "0000"
    Workbooks.Open Filename:="\srvfichiers.yhk.local\Reporting\employees\salary.xlsx", Password:=password 
    ThisWorkbook.RefreshAll Workbooks(“salary.xlsx”).Close Savechanges:=False 
    End Sub
    Cela devrait vous permettre d’ouvrir le fichier sans que la fenêtre de mot de passe ne s’affiche.
    J’espère que cela fonctionnera !
    Et1000lio

  3. #3
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 275
    Par défaut
    Salut
    essayez ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub refresh_tables()
    Dim wbk2 As Excel.Workbook
     
    Set wbk2 = Workbooks.Open(Filename:="\\srvfichiers.yhk.local\Reporting\employees\salary.xlsx", Password:="0000")
    With wbk2
        .RefreshAll
        .Close Savechanges:=False
    End Sub

  4. #4
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2023
    Messages : 3
    Par défaut
    Citation Envoyé par et1000lio Voir le message
    Bonjour,
    Essayer ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub refresh_tables() 
    Dim password As String 
    password = "0000"
    Workbooks.Open Filename:="\srvfichiers.yhk.local\Reporting\employees\salary.xlsx", Password:=password 
    ThisWorkbook.RefreshAll Workbooks(“salary.xlsx”).Close Savechanges:=False 
    End Sub
    Cela devrait vous permettre d’ouvrir le fichier sans que la fenêtre de mot de passe ne s’affiche.
    J’espère que cela fonctionnera !
    Et1000lio
    Merci pour ta réponse !
    Malheureusement, je pense que ton code fait la même chose que le mien
    J'ai exactement le même problème qu'avec le miens

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2023
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2023
    Messages : 3
    Par défaut
    Citation Envoyé par hyperion13 Voir le message
    Salut
    essayez ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub refresh_tables()
    Dim wbk2 As Excel.Workbook
     
    Set wbk2 = Workbooks.Open(Filename:="\\srvfichiers.yhk.local\Reporting\employees\salary.xlsx", Password:="0000")
    With wbk2
        .RefreshAll
        .Close Savechanges:=False
    End Sub
    Gros merci aussi pour ton aide !
    Malheureusement, ton code réactualise le wbk2 qui est donc le fichier source ^^
    Je n'ai donc pas de fenetre qui pop pour me demander le mdp mais ça ne réactualise pas mon tcd dans mon fichier où est la macro

  6. #6
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 020
    Par défaut
    Bonjour,
    il faut essayer ThisWorkbook.RefreshAll ou Application.CalculateFull ou Application.CalculateFullRebuild au cas où...
    ou

    https://learn.microsoft.com/fr-fr/of...6)%26rd%3Dtrue

    " Cette méthode provoque un calcul intégral des données dans tous les classeurs ouverts. "

    https://learn.microsoft.com/fr-fr/of...6)%26rd%3Dtrue

    " Pour tous les classeurs ouverts, cette méthode provoque un calcul intégral des données et recrée les dépendances. "

  7. #7
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 275
    Par défaut
    Salut
    Dans la mesure où votre TCD est déjà connecté à une source (votre classeur protégé) pour quelle raison cherchez-vous à l'ouvrir pour rafraichir les données du TCD ?
    Cette simpls sub() doit faire le job
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub refresh_tables()
    Dim wbk1 As Excel.Workbook
     
    Set wbk1 = ThisWorkbook
    With wbk1
        .RefreshAll
    End With
    End Sub

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 140
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sasn VBA, avez-vous essayé l'option Actualiser lors de l'ouverture du fichier ?

    Nom : 230613 dvp TCD Option.png
Affichages : 180
Taille : 26,2 Ko
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 516
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 516
    Par défaut
    Il y a 2 mots de passe pour protéger un classeur Excel, un mot de passe pour la lecture et un mot de passe pour l'écriture.
    Le paramètre Password est celui pour la lecture
    et il y a le paramètre WriteResPassword qui pour l'écriture

    Le mot de passe que tu fournis doit correspondre à ce dernier paramètre à mon avis.
    (Lorsque tu ouvres normalement le classeur, le mot de passe est demandé pour la lecture ou l'écriture ? ça te donnera un indice sur le paramètre à utiliser, peut-être utiliser les 2 d'ailleurs)

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/05/2016, 14h25
  2. [XL-2003] Arrêt de la macro aprés Workbooks.Open
    Par DébutantVba dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 12/02/2010, 13h03
  3. Workbooks.Open Filename fonctionne bien sur excel 2000 ?
    Par emoiem dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 27/03/2008, 15h59
  4. Pb : Demande de connexion alors que xsd
    Par dmroczkowski dans le forum Connectivité
    Réponses: 10
    Dernier message: 27/08/2007, 16h21
  5. Workbook.open et la macro s'arrête
    Par bart64 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/07/2007, 16h43

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