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 :

Pb pour masquer un classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Points : 47
    Points
    47
    Par défaut Pb pour masquer un classeur
    Bonjour,

    Je désire à l'ouverture de mon fichier ouvrir un autre classeur et le masquer(Salariés2018.xlsx), une solution fonctionne mais masque les 2 classeurs.
    La première partie du code ouvre un classeur (TSH 2018.xlsx) et le referme, cela fonctionne.

    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
    19
    Private Sub Workbook_Open()
    With ThisWorkbook
            Workbooks.Open ("Q:\Commun\TSH 2018.xlsx")
            Set WbkS = ActiveWorkbook
            ActiveWorkbook.RefreshAll
            ThisWorkbook.UpdateLinks = xlUpdateLinksAlways
            WbkS.Close False
        End With
     
     
    Dim MonClasseurAmoi As Workbook, LeClasseurDeMaCollegue As Workbook, FenetreActive As Window
       Set MonClasseurAmoi = ThisWorkbook
       Set LeClasseurDeMaCollegue = Workbooks.Open("Q:\Commun\Salaries2018.xlsx")
       Set FenetreActive = ActiveWindow
     
       LeClasseurDeMaCollegue.RefreshAll
       MonClasseurAmoi.UpdateLinks = xlUpdateLinksAlways
       FenetreActive.Visible = False
    End Sub

    J'ai essayé de remplacer FenetreActive.Visible = False par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Windows(ActiveWorkbook.LeClasseurDeMaCollegue).Visible = False
    OU
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Windows("Q:\Commun\Salaries2018.xlsx").Visible = False
    Mais ca me note erreur '9'

    Pouvez vous m'aider svp

    Je vous remercie

    Cordialement

  2. #2
    Membre expérimenté Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 724
    Points : 1 454
    Points
    1 454
    Par défaut
    Bonjour, J'ai rien pour vérifier, mais vous pouvez peut être essayer le code ci-dessous. Sur un malentendu ça peut marcher?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim MonClasseurAmoi As Workbook, LeClasseurDeMaCollegue As Workbook, FenetreActive As Window
       Set MonClasseurAmoi = ThisWorkbook
       Set LeClasseurDeMaCollegue = Workbooks.Open("Q:\Commun\Salaries2018.xlsx")
       Set FenetreActive = ActiveWindows
       LeClasseurDeMaCollegue.RefreshAll
       MonClasseurAmoi.UpdateLinks = xlUpdateLinksAlways
       FenetreActive.Visible = False
    N'oubliez pas lorsque vous n'en avez plus besoin de remettre a zéro pour libérer de la mémoire: exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set FenetreActive = nothing
    Cordialement
    On a deux vies, la deuxième commence quand on se rend compte qu'on n'en a qu'une.
    Confucius

  3. #3
    Membre du Club
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Je ne comprends pas
    C'est le même code
    Je dois rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set FenetreActive = nothing
    àla fin du code
    Merci

  4. #4
    Membre du Club
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    J'ai essayé ce code

    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
    19
    20
    21
    Private Sub Workbook_Open()
     
     
    With ThisWorkbook
            Workbooks.Open ("Q:\Commun\TSH 2018.xlsx")
            Set WbkS = ActiveWorkbook
            ActiveWorkbook.RefreshAll
            ThisWorkbook.UpdateLinks = xlUpdateLinksAlways
            WbkS.Close False
        End With
     
    With ThisWorkbook
            Workbooks.Open ("Q:\Commun\Salaries2018.xlsx")
            Set WbkD = ActiveWorkbook
            ActiveWorkbook.RefreshAll
            ThisWorkbook.UpdateLinks = xlUpdateLinksAlways
            Windows(ActiveWorkbook.WbkD).Visible = False
            End With
     
     
    End Sub
    Mais erreur d'execution 438 ???

  5. #5
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    Ne travaillez pas avec ActiveWorkbook alors que vous avez une référence au classeur (LeClasseurDeMaCollegue).
    En partant de cette référence, rendre invisible la première fenêtre de ce classeur, c'est la fenêtre principale.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim MonClasseurAmoi As Workbook, LeClasseurDeMaCollegue As Workbook, FenetreActive As Window
       Set MonClasseurAmoi = ThisWorkbook
       Set LeClasseurDeMaCollegue = Workbooks.Open("Q:\Commun\Salaries2018.xlsx")
     
       LeClasseurDeMaCollegue.RefreshAll
       MonClasseurAmoi.UpdateLinks = xlUpdateLinksAlways
       LeClasseurDeMaCollegue.Windows(1).Visible = False

  6. #6
    Membre du Club
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Ca marche parfaitement
    Merci beaucoup

    A quoi sert le (1) dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeClasseurDeMaCollegue.Windows(1).Visible = False
    svp ?
    Merci

  7. #7
    Membre du Club
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Une autre question :

    J'ai partagé mon fichier sur le onedrive de l'etablissement pour partager avec la secrétaire.

    Si je ferme mon fichier alors que la secrétaire est en train de l'utiliser, est-ce que le fichier salaries2018 va se fermer pour la secrétaire ?

    Merci beaucoup de votre aide précieuse

    Cordialement

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par persjussysylvain Voir le message
    A quoi sert le (1) dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LeClasseurDeMaCollegue.Windows(1).Visible = False
    svp ?
    Le 1 c'est la première fenêtre du classeur, c'est ça que j'avais appelé "fenêtre principal" du classeur dans mon précédent message.

    Citation Envoyé par persjussysylvain Voir le message
    Une autre question :

    J'ai partagé mon fichier sur le onedrive de l'etablissement pour partager avec la secrétaire.

    Si je ferme mon fichier alors que la secrétaire est en train de l'utiliser, est-ce que le fichier salaries2018 va se fermer pour la secrétaire ?

    Merci beaucoup de votre aide précieuse

    Cordialement
    Non aucune raison que ça ferme le fichier sur son poste.
    Par contre je ne sais pas comment se comporte onedrive sur les accès concurrents.

  9. #9
    Membre du Club
    Homme Profil pro
    Accompagnateur personnes handicapés
    Inscrit en
    Juillet 2016
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Accompagnateur personnes handicapés

    Informations forums :
    Inscription : Juillet 2016
    Messages : 111
    Points : 47
    Points
    47
    Par défaut
    Je vous remercie beaucoup

    Bonne journée

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

Discussions similaires

  1. [VBA-E] Problème pour masquer des colonnes.
    Par martiweb dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/04/2007, 02h53
  2. Masquer le classeur des macros personnelles
    Par mattjol dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/04/2007, 09h26
  3. Réponses: 1
    Dernier message: 31/03/2007, 16h04
  4. comment faite vous pour comparer 2 classeurs excel ,
    Par melodyyy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/11/2006, 14h44
  5. widget pour feuille de classeur en GTK+
    Par doderic dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 11/07/2006, 21h28

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