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 :

ThisWorkbook.IsAddin = False


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut ThisWorkbook.IsAddin = False
    Bonjour le Forum,
    Je rencontre un probleme, a l'ouverture d'un fichier excel contenant des macros j'installe toujours
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.IsAddin = False
    afin que l'utilisateur soit obligé d'activer les macros sinon le fichier ne s'ouvre pas et reste sur une page grise
    Dans mon cas si dessous le code ne fonctionne pas
    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
    30
    31
    32
    33
    34
    35
    Private Sub Workbook_Open()
     Application.ScreenUpdating = False
       ThisWorkbook.IsAddin = False
        Dim C As String
        Dim cpt As Integer
        Dim R As String
     
     
        If Date > #1/5/2010# Then
     
            R = Sheets("RENSEIGNEMENTS").Range("D1").Value
     
            Do
     
                C = InputBox("Tu donnes combien BRUNO?", _
                             "Accès restreint", _
                             "10 000€", _
                             5500, _
                             5000)
     
                cpt = cpt + 1
     
            Loop Until C = R Or cpt > 3
     
            If C <> R Then ThisWorkbook.Close savechanges:=False
     
        End If
     
    ActiveWindow.DisplayHeadings = False
    Application.DisplayFullScreen = True
     
    UserForm2.Show
    Application.ScreenUpdating = True
     
    End Sub
    D'avance merci de votre aide
    Cdt

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Perso, je ne comprends pas le lien que tu fais entre la propriété AddIn et les macros...

    Tu places cela sur des XLA?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    Oui, je fais certainement une erreur mais
    As tu une solution a mon probleme afin d'obliger les utilisateurs a activer les macro pour lire le fichier
    Cdt

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Perso, la seule solution que je vois est de ne rendre visible qu'un seul onglet de ton classeur et de passer les autres en VeryHidden via l'éditeur du VBA (ou par code).

    Dans l'onglet visible, tu places un texte qui explique que l'utilisateur doit accepter les macros (et au besoin descendre le niveau de protection d'Excel). Lorsque les macros sont activées, le code du classeur peut alors rendre les feuilles visibles, et le code doit évidemment les masquer toutes (sauf le "menu") en fermeture de fichier.

    Il existe des possibilités de descendre le niveau via les clefs de registre, par vbscript notamment. Il faut chercher un peu sur le site pour trouver le code du vbscript.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    Bonsoir,
    mais pourquoi dans ce cas ci dessous le code fonctionne lorsque je n'active pas les macros??
    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
    30
    31
    32
    Private Sub Workbook_Open()
    Application.ScreenUpdating = False
    ThisWorkbook.IsAddin = False
    If Date > #1/5/2012# Then
    Do Until c <> ""
    c = InputBox("quel est votre mot de passe?", "accès restreint", "mot de passe SVP", 5500, 5000)
    cpt = cpt + 1
    If cpt > 3 Then ThisWorkbook.Close savechanges:=False
    Loop
    On Error Resume Next
    If c <> "TONY.NOURRY" Then ThisWorkbook.Close savechanges:=False
    End If
    With ActiveWindow
    .DisplayHeadings = False
    Application.DisplayFullScreen = True
    Application.CommandBars("Formatting").Visible = False
        Application.CommandBars("Standard").Visible = False
        Application.CommandBars("Reviewing").Visible = False
    End With
     
    Application.CommandBars("Drawing").Visible = False
        Application.CommandBars("Formatting").Visible = False
        Application.CommandBars("Standard").Visible = False
     
     
    Sheets("COEFFICIENTS").Select
        Range("G8").Select
        UserForm1.Show
     
    ActiveWindow.DisplayWorkbookTabs = True
    Application.ScreenUpdating = True
    End Sub

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Cela dépend du niveau de sécurité des macros.

    Si le niveau est "faible", les macros sont activées automatiquement.

    Il se peut aussi que ton fichier soit stocké dans un environnement approuvé, auquel cas, les macros sont déclenchées quel que soit le niveau de sécurité d'Excel.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 87
    Par défaut
    bonsoir,
    a partir du meme PC j'ouvre le fichier sans activer les macros et ensuite sur le dernier exemple que je viens de vous envoyez il est impossible de l'ouvrir si les macros ne sont pas activées
    ma question pourquoi avec l'un le code fonctionne et non avec l'autre

Discussions similaires

  1. Mettre à false toutes les tables d'un projet
    Par tomm dans le forum Bases de données
    Réponses: 9
    Dernier message: 28/05/2006, 00h36
  2. Demande d'explication : "return false"
    Par mickeliette dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 04/10/2004, 10h06
  3. [ASP][VBS] Question sur if et false
    Par bigtoof dans le forum ASP
    Réponses: 2
    Dernier message: 18/06/2004, 16h28
  4. [JTree] SetEnabled( false)
    Par thomas_strass dans le forum Composants
    Réponses: 3
    Dernier message: 29/04/2004, 12h20
  5. Le langage False
    Par Bloon dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 18/09/2003, 15h52

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