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

Excel Discussion :

Actualisation d'un classeur.xlsm en lecture seule [XL-365]


Sujet :

Excel

  1. #1
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut Actualisation d'un classeur.xlsm en lecture seule
    Bonjour,

    Un classeur avec des macros qui ne peut pas être partagé est ouvert par une personne exécutant de la saisie toute la journée.

    Pour consulter les données j'ouvre le fichier en lecture seule.

    Mais après quelques minutes mon fichier ouvert en lecture seule est obsolète, car il ne contient pas les dernières valeurs saisie dans le fichier original

    Comment actualiser les données dans le fichier en lecture seule pour éviter de devoir le fermer et le réouvrir en lecture seule toutes les 3 minutes ?

    Je vous remercie
    Meilleures salutations
    Philippe

  2. #2
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Bonjour,

    J'ai un début de piste
    Cette macro fonctionne, elle est placée dans un fichier .xlam qui doit être installée sur le pc

    J'ai un problème :
    Si cette action est réalisée sur le fichier de travail, il se fermera sans être enregistré et sera rouvert en lecture seule

    La meilleure solution :
    Activation de la macro via un bouton dans le fichier original
    Placer un bouton dans le fichier orignal qui est caché lorsque le fichier est en mode modification et visible en lecture seule, mais comment appeler la macro située dans le fichier xlam via le vba du fichier original ?

    Si pas possible
    Activation de la macro : Afficher cette macro dans la barre d'outils d'accès rapide Excel
    Comment différencier le fichier en lecture seule du fichier original en cours de modification ?
    Est-il possible de vérifier si le fichier est en lecture seule ?

    Merci pour vos lumière et bon weekend


    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
    22
    23
    Option Explicit
    Sub Actualiser()
    'Le fichier original doit être protégé par un mot de passe contre les modifications de manière à toujours être réouvert en lecture seule
    'Afficher cette macro dans la barre d'accès rapide Excel
    Dim Fichier_lecture_seule As String
    Dim Srep As String
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False ' => desactive les evenements Worksheet_SelectionChange
        Srep = "C:\Users\p.gonin\OneDrive - Philippe Gonin\Visionneuse planning Chevalley" & "\"
        Fichier_lecture_seule = Srep & ActiveWorkbook.Name
        If ActiveWorkbook.Name = "Test.xlsm" Then
            ActiveWorkbook.Close Savechanges:=False
            Workbooks.Open Fichier_lecture_seule
        End If
        MsgBox _
        "Cette action ne fonctionne que sur le Planning Chevalley" & vbCrLf & vbCrLf & _
        "Elle réactualise le fichier lorsque qu'il est en lecture seule" & vbCrLf & vbCrLf & _
        "", vbOKOnly + vbInformation, "Macro personnalisée"
    Application.EnableEvents = True ' => reactive les evenements Worksheet_SelectionChange
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

  3. #3
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Activation de la macro via un bouton dans le fichier original
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "0_Macro_Pippo.xlam!Actualiser_Lecture_Seule.Actualiser
    Mais le fichier se ferme et ne rouvre pas, car la macro et lancée depuis le fichier qui s'est fermé

    Seule solution :
    Activation de la macro : Afficher cette macro dans la barre d'outils d'accès rapide Excel
    Comment différencier le fichier en lecture seule du fichier original en cours de modification ?
    Est-il possible de vérifier si le fichier est en lecture seule ?

    Merci pour vos lumières et bon weekend

  4. #4
    Membre éclairé Avatar de goninph
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2013
    Messages : 805
    Par défaut
    Voilà tout 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    Option Explicit
    Sub Actualiser()
    'Placer le fichier 0_Macro_Lecture_seule.xlam dans le dossier Plannnig du serveur
    'Sur chaque PC activer cette macro : Onglet Développeur - Compléments Excel - Parcourir et rechercher le fichier .xlam
    'Activation de la macro : Afficher cette macro dans la barre d'outils d'accès rapide Excel via un bouton
    'Le fichier du planning doit être protégé par un mot de passe contre les modifications de manière à toujours être réouvert en lecture seule
    Dim Fichier_lecture_seule As String
    Dim Srep As String
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Application.EnableEvents = False ' => desactive les evenements Worksheet_SelectionChange
        'Srep doit être codé en dur, car (ThisWorkbook.Path) renvoi le chemin du fichier xlam !
        Srep = "C:\Users\p.gonin\OneDrive - Philippe Gonin\Visionneuse planning Chevalley" & "\"
        Fichier_lecture_seule = Srep & ActiveWorkbook.Name
        If ActiveWorkbook.Name = "Test.xlsm" Then  'Test le nom du fichier
            If ActiveWorkbook.ReadOnly Then  'Test si le fichier est en lecture seule
                ActiveWorkbook.Close Savechanges:=False
                Workbooks.Open Fichier_lecture_seule
            End If
        End If
        'Si le bouton de la barre d'outils d'accès rapide Excel est activé dans un autre fichier
        MsgBox _
        "Cette action ne fonctionne que sur le Planning Chevalley en lecture seule" & vbCrLf & vbCrLf & _
        "Elle réactualise les données du fichier lorsque qu'il est en lecture seule" & vbCrLf & vbCrLf & _
        "", vbOKOnly + vbInformation, "Macro personnalisée"
    Application.EnableEvents = True ' => reactive les evenements Worksheet_SelectionChange
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    End Sub

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

Discussions similaires

  1. [XL-2007] Copie d'un classeur .xlsm dans un nouveau .xls sans le code VBA
    Par Chris50 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/12/2015, 16h09
  2. [XL-2010] Lancement macro classeur xlsm depuis un autre classeur xlsm
    Par Romain_8 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/11/2013, 17h48
  3. [XL-2007] Actualisation d'un classeur synthétique
    Par macgyver44 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/02/2013, 19h24
  4. [XL-2007] Copier-coller plusieurs feuilles dans un autre classeur (xlsm=>xlsx)
    Par Cesaror dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/06/2012, 11h55
  5. Enregistrer un classeur xlsm en xlsx
    Par possible924 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/02/2011, 22h46

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