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 :

code unprotect et visible qui bloque


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut code unprotect et visible qui bloque
    Bonjour
    cela bloque à la ligne for each ..

    pq ?

    Peut être parce que ce ne sont pas les noms des onglets tels qu'ils apparaissent dans le classeur mais les noms VBA.
    Je voudrais utiliser ces derniers.

    Merci.

    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
    Private Sub CBUnprotect_Click()
     
    Dim ws As Worksheet
     
    If TBPW.Value = "1234" Then
     
    ThisWorkbook.Unprotect Password:="1234"
    For Each ws In ThisWorkbook.Worksheets(Array("sh_month", "sh_update", "sh_check"))
        With ws
         .Visible = True
        End With
    Next ws
    Unload frm_StartAdmin
     
    Else
     
    TBPW.Value = ""
     
    End If
     
    End Sub

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    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
    Private Sub CBUnprotect_Click()
     
    Dim ws As Worksheet
    Dim Liste As Variant
    Dim Pos As Long
     
    Liste = Array("sh_month", "sh_update", "sh_check")
     
    If TBPW.Value = "1234" Then
        ThisWorkbook.Unprotect Password:="1234"
     
        For Pos = LBound(Liste) To UBound(Liste)
            Set ws = ThisWorkbook.Worksheets(Liste(Pos))
            ws.Visible = True
        Next Pos
        Unload frm_StartAdmin
    Else
        TBPW.Value = ""
    End If
    End Sub
    Il me semble superflu de passer par la variable ws (à moins que ton code soit plus vaste que ce que tu présentes) mais je l'ai laissé pour rester dans l'esprit de ce que tu as écrit.

  3. #3
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    lorsque je tape le PW et que je clique sur le bouton, il me répond :

    "erreur exécution 9 - l'indice n'appartient pas à la sélection"
    les noms sh_month, sh_check et sh_update ne sont pas les noms qui apparaissent dans les onglets du classeur mais bien les noms dans le code VBA

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par rossemma Voir le message
    les noms sh_month, sh_check et sh_update ne sont pas les noms qui apparaissent dans les onglets du classeur mais bien les noms dans le code VBA
    Essaye avec les noms qui apparaissent dans les onglets.

  5. #5
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    et si je veux utiliser les noms tels que dans VBA, comment dois je écrire le code ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    J'ai modifié mon code mais il bloque à la ligne if ws.codename

    Pourquoi ?

    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 CBUnprotect_Click()
     
    Dim Ws As Worksheet
     
    If TBPW.Value = "1234" Then
        ThisWorkbook.Unprotect Password:="1234"
     
        For Each Ws In ThisWorkbook.Worksheets
            If Ws.CodeName = sh_month Or sh_update Or sh_check Then
                Ws.Visible = True
            End If
        Next Ws
     
        Unload frm_StartAdmin
    Else
        TBPW.Value = ""
    End If
     
    End Sub

Discussions similaires

  1. code::blocks programme ultra débutant qui bloque…
    Par elodouwen dans le forum Débuter
    Réponses: 4
    Dernier message: 05/04/2015, 19h41
  2. [XL-2010] Code qui bloque et fige la feuille
    Par Scorpdragon dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/01/2015, 15h25
  3. code js qui bloque php
    Par ruben06 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/03/2010, 14h44
  4. un % qui bloque tout mon code!
    Par kaking dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 20/07/2009, 09h06
  5. Réponses: 3
    Dernier message: 28/08/2007, 10h15

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