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 :

Ouvrir un classeur qui est en lecture seule [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut Ouvrir un classeur qui est en lecture seule
    Bonjour,

    J'ai un classeur qui contient en B1 un répertoir et en B2 un nom de fichier
    Quand l'utilisateur modifie B2, il ouvre automatiquement le classeur de ce nom qui se trouve dans ce répertoire (j'ai besoin de la fonction indirect et donc que le classeur soit ouvert)
    Ces fichiers sont en lecture seule (ou du moins, tout ceux qui j'ai vu pour le moment son en lecture seule ) et donc, quand la macro les ouvre, il y a la petite fenetre qui apparait.

    Est-ce que je peux ajouter quelque chose dans mon code pour que le fichier s'ouvre directement?

    Question subisidaire, si ca existe, qu'est-ce que ca va donner comme résultat si j'ouvre un fichier qui n'est pas en lecture seule?

    Pour le moment le bout de code qui ouvre le classeur ressemble a ca

    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 Worksheet_Change(ByVal Target As Range)
    Dim Plage As Range, Intersection As Range, repertoire As String, classeur As String, parametreclasseur As String, onglet As String
     
        Set Plage = Range("B2")
     
        Set Intersection = Intersect(Target, Plage)
     
        If Not (Intersection Is Nothing) Then
             ' variable qui servent a rendre la macro dynamique en cas de changement
             ' de nom de fichier
             parametreclasseur = Range("D2")
             Sheets("Base").Select
             ' mettre dans des variables le chemin d'acces qu'on a indiqué dans la page,
             ' ouvir le classeur en utilisant ces variables et puis retourner sur l'onglet de travail
             repertoire = Range("B1")
             classeur = Range("B2")
             Workbooks.Open Filename:="" & repertoire & "\" & classeur & ""
             Windows("" & parametreclasseur & "").Activate
        End If
    En espérant que la demande soit compréhensible

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 944
    Points : 1 282
    Points
    1 282
    Par défaut
    Bonjour
    Pour forcer l'ouverture du fichier en lecture seule, il faut écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:= repertoire & "\" & classeur ,ReadOnly:=True
    Cela devrait également régler le problème de la petite fenêtre

  3. #3
    Membre actif
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Points : 283
    Points
    283
    Par défaut
    Sinon tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    application.displayalerts=false
    N'oublie pas de remettre tru à la fin

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    791
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 791
    Points : 688
    Points
    688
    Par défaut
    Super merci, ca résoud effectivement le probleme (et qui plus est, sans tout bloquer si le fichier n'est pas protégé )

    Ca va faire plus propre comme ca

    Merci pour la ligne de code diude54, je la garde pour une autre fois
    Ici, ca me semble plus propre et plus adapté d'utiliser la commande prévue spécialement pour ca. Entre autre, si pour une raison x ou y il y a un probleme quelque part, j'aime autant garder mes alerteurs

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

Discussions similaires

  1. Accèder à un fichier qui est en lecture seul
    Par Leniouns dans le forum Général Java
    Réponses: 4
    Dernier message: 23/01/2012, 17h10
  2. [VBA]Modifier un fichier xls qui est en lecture seule
    Par niavlys77 dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/04/2007, 19h45
  3. [Excel] Vérifier si un classeur est en lecture seule
    Par Rakham dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/01/2006, 08h44
  4. Comment savoir si un fichier/répertoire est en lecture seule
    Par Guigui_ dans le forum Général Python
    Réponses: 3
    Dernier message: 29/12/2004, 16h05
  5. Réponses: 5
    Dernier message: 28/10/2003, 15h01

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