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 :

Excel VBA - restreindre l'ouverture d'un fichier Excel par OpenOffice ou LibreOffice


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    néophite
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : néophite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Excel VBA - restreindre l'ouverture d'un fichier Excel par OpenOffice ou LibreOffice
    Bonjour à tous,

    j'ai un fichier Excel avec macros partagé en réseau.
    Certains petits malins ouvrent le fichier avec OpenOffice ou LibreOffice pour éviter de "subir" les macros au démarrage du fichier et bidouillent le fichier ensuite en le rendant inopérant par la suite sous Excel

    Est-il possible de ne pas autoriser l'ouverture d'un fichier Excel par les applications open source citées ?
    fichier Excel en .xls (Excel 2003, compatible 2010)

    merci par avance pour vos renseignements

    Totof

  2. #2
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    le plus simple est de brider l'utilisation du fichier pour obliger les utilisateurs à activer les macros

    Tu crées une feuille toute blanche avec un encadré de type "veuillez activer les macros pour utiliser le fichier"

    toutes les autres feuilles sont masquées en very hidden
    ton projet vba est verrouillé par mot de passe

    et dans ta macro workbook_open :

    - tu masques la feuille d'accueil
    - tu affiches les autres feuilles


    ce qui veut dire que si les macros ne sont pas activées ... l'utilisateur n'a que la feuille accueil disponible

    (ne pas oublier de réaliser l'opération inverse à la fermeture du classeur)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Debug.Print Application.Name! de toutes le façons l'affectation d'une référence à un objet est différente dans Office Set toto = ThisWorkbook.Application! fait planer l'application!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    If InStr(Application.Name, "Excel") = 0 Then Err.Raise 1664, ThisWorkbook.Name, "Vas donc boire une bière à ma santé!"
    End Sub
    Dernière modification par Invité ; 23/06/2015 à 12h39.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    néophite
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : néophite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    génial rdurupt !


    je vais la mettre telle quelle, tellement elle me fait rire !

    super gentil

    bravo pour votre aide à tous !

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    néophite
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : néophite
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Bonjour,
    Debug.Print Application.Name! de toutes le façons l'affectation d'une référence à un objet est différente dans Office Set toto = ThisWorkbook.Application! fait planer l'application!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    If InStr(Application.Name, "Excel") = 0 Then Err.Raise 1664, ThisWorkbook.Name, "Vas donc boire une bière à ma santé!"
    End Sub
    la manip ne fonctionne pas directement car pour LibreOffice par exemple, effectivement il y a un blocage mais l'option "réparer le fichier" reste active et donc cette option est "contournable"

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je ne connais pas le monde se l'open source, mais le fichier est il vraiment réparer, ou le bug revient à l'ouverture suivante. As tu mis un mot de passe sur le projet VB, car encore faut-il pouvoir réparer.
    Si tu place le code bugueur avant l'appel d'une macro principale ça doit foutre la gruge et passablement énerver!

    Remarques si tu protégé pas le projet Excel te propose également de debuger!

    Édite: Pour information,ma solution vérole le soft, celle de Joe le protégé vraiment!

    Fais un mixte
    Dernière modification par Invité ; 26/06/2015 à 08h23.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/03/2014, 11h27
  2. [XL-2010] Utiliser une macro d'un fichier excell pour mettre en page une autre fichier excell
    Par ab1to dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 29/11/2013, 16h40
  3. Réponses: 3
    Dernier message: 31/08/2010, 18h12
  4. Réponses: 1
    Dernier message: 08/10/2008, 15h30
  5. lancement d'un menu vba dés l'ouverture d'un fichier excel
    Par sefir dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/10/2007, 10h01

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