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

Conception Discussion :

Excel 2003 - Restriction d'accès à VBA sans Protection et partage


Sujet :

Conception

  1. #1
    Membre régulier Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Points : 93
    Points
    93
    Par défaut Excel 2003 - Restriction d'accès à VBA sans Protection et partage
    Salut les Kracks,

    J'ai un problème de mise en partage de mon fichier sans doute suite à l'utilisation de certaine "incompatibilité" selon F1 (notamment l'utilisation de liste, etc...).
    Aussi, j'aimerai passer par le VBA pour empêcher les utilisateurs d'entrée voir les macros (et donc les mots de passe) dans Visual Basic (ce que faisait très bien l'option Protection et Partage "mais qui dans mon cas ne fonctionne pas!"

    Pour vous aider "je l'espère", je vous joint un bout de mon code dans lequel on pourrait éventuellement y inclure une parade (voir en rouge ci-dessous):

    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
    Private Sub OK_Click()
    
    'Mémorisation du nom de la feuille active
    Origine = ActiveSheet.Name 'Recherche de la présence de la feuille Controle
    FeuilleControle = 0 'réinitialisation du compteur
    For i = 1 To Worksheets.Count
    If Worksheets(i).Name = "Controle" Then
    FeuilleControle = 1
    End If
    Next i
    'Si le classeur ne contient pas de feuille Contrôle ...
    If FeuilleControle = 0 Then
    '...introduction (création) d'une feuille Controle
    Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "Controle"
    End If
    'suivant le choix de l'utilisateur, affiche la feuille appropriée
    MonFormulaire.Hide
    'Mémorisation du nom de la feuille active
    If TATA = True And MP = "TATA1" ThenC'est ici que je pense pouvoir insérer une formule disant que si TATA à bien entrée le mot de passe Tata1 et bien "lui empêcher l'accès à VBA" 
    MsgBox "Please double-click inside desired cells A24:A54! ", vbInform, "Instructions"
    Sheet34.Visible = xlSheetVisible
    Sheet34.Protect ("MONMOT2PASSE")
    Sheet2.Visible = xlSheetVisible
    Sheet3.Visible = xlSheetVeryHidden
    Sheet4.Visible = xlSheetVeryHidden
    Merci à vous
    Merci les kracks,

    Apprendre à un imbécile, c'est comme soigner un mort
    "alors avec moi, bon courage!"
    (дурака учить, что мертвого лечить, c'est plus beau en Russe!)

  2. #2
    Responsable
    Office & Excel


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 941
    Points
    55 941
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Pas bien compris la manip.

    Si tu veux protéger l'accès au VBA de ton classeur, protège l'accès...

    Dans le VBE, clic droit sur le projet, propriétés et place un mot de passe.

    Si tu veux que certains aient accès au code, donne-leur le mot de passe...

    "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 régulier Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    Merci Pierre,

    A force d'utiliser le "partage et protection" qui restreint également l'accès aux utilisateurs, j'ai oublié des évidences comme celle-ci!
    Cependant et comme tu peux le voir dans mon code, n'y a t-il pas moyen de mettre cette restriction d'accès seulement pour certains utilisateurs et pas "l'Administrateur", c'est à dire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If User1 = True And MP = "MPY" Then
    Bloqué...
    If Admin = True And MP = "MPX" Then
    Débloqué...
    Merci pour la piqûre de rappel!
    Merci les kracks,

    Apprendre à un imbécile, c'est comme soigner un mort
    "alors avec moi, bon courage!"
    (дурака учить, что мертвого лечить, c'est plus beau en Russe!)

  4. #4
    Responsable
    Office & Excel


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

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 941
    Points
    55 941
    Billets dans le blog
    131
    Par défaut
    Je ne comprends pas ce que tu cherches à réaliser.

    Que veux-tu bloquer par mot de passe via le code?
    "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 actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    334
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 334
    Points : 253
    Points
    253
    Par défaut
    Bonjour Pierre, Djromé,

    Citation Envoyé par Djromé Voir le message
    Merci Pierre,

    Cependant et comme tu peux le voir dans mon code, n'y a t-il pas moyen de mettre cette restriction d'accès seulement pour certains utilisateurs et pas "l'Administrateur", c'est à dire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If User1 = True And MP = "MPY" Then
    Bloqué...
    If Admin = True And MP = "MPX" Then
    Débloqué...
    Merci pour la piqûre de rappel!
    Peut-être cherche-tu quelque chose comme ca :

    http://www.cijoint.fr/cjlink.php?fil...cij00YZ3kQ.xls

    Bonne journée à tous
    Je préfère une vérité nuisible à une erreur utile : la vérité guérit le mal qu'elle a pu causer.

  6. #6
    Membre régulier Avatar de Djromé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 172
    Points : 93
    Points
    93
    Par défaut
    Bonsoir à vous,

    Pierre Fauconnier Je ne comprends pas ce que tu cherches à réaliser.

    Que veux-tu bloquer par mot de passe via le code?
    En fait, je souhaiterai que la personne qui rentre dans le formulaire en tant qu'Administrateur n'est pas besoin d'entrer de mot de passe en allant dans VBE...
    Et également, que tous les autres ne puissent pas y accéder!
    Dans le VBE, clic droit sur le projet, propriétés et place un mot de passe.
    Est-ce que le clic droit dans VBE comme expliqué peut se traduire par du code?
    Ce serait une solution que je pourrai inclure dans mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    If User1 = True And MP = "MotdepasseY" Then
    XXXX.Protect Password:="RBS34", Contents:=True'le code qui bloque...
    If Admin = True And MP = "MotdepasseX" Then
    XXXX.unProtect Password:="RBS34" 'le code qui débloque...
    Bref, de cet acabit...

    Merci en tous cas à vous deux...(VieuxMonsieur, ton exemple est tellement profond qu'il va me falloir un peu de temps (c'est le problème des jeunes gens)pour tout analyser, mais saches qu'il n'est pas dans les oubliettes, merci!)
    Merci les kracks,

    Apprendre à un imbécile, c'est comme soigner un mort
    "alors avec moi, bon courage!"
    (дурака учить, что мертвого лечить, c'est plus beau en Russe!)

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

Discussions similaires

  1. [Excel 2003] - Copier/Coller code VBA automatiquement
    Par n0vocaine dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/04/2012, 16h48
  2. Réponses: 8
    Dernier message: 01/08/2007, 12h06
  3. VBA-protection classeur et feuille sous Excel 2003 et 97
    Par derf3183 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 28/07/2006, 14h04
  4. [VBA-E]Projet VB perdu dans un fichier Excel 2003
    Par cotmar dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/03/2006, 17h39
  5. [VBA-E]Protection de certaine case d'une feuille Excel
    Par DonKnacki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/03/2006, 10h10

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