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 :

Verouiller feuille après enregistrement [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Par défaut Verouiller feuille après enregistrement
    Bonjour,

    J'ai un classeur (A) qui comprend plusieurs feuilles. Grace à une macro j'enregistre sur un nouveau classeur (B) la première feuille de ce classeur (A).

    La feuille du classeur (A) comprend des cellules verrouillées et d'autres non, pour que l'utilisateur modifie seulement certaines cellules.

    Cependant, j'ai besoin que le classeur (B) soit verrouillé en totalité et qu'aucune cellule ne soit modifiable.. Pour l'instant, quand j'enregistre, le fichier créé récupère les cellules verrouillés du premier fichier..

    Voici le code de la macro pour enregistrer :

    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
    Sub EnregistrerFichierFinal()
     
        Dim Sh1 As Worksheet
        Set Sh1 = ThisWorkbook.Worksheets(1)
     
        Sh1.Unprotect ("mdp")
     
        Filtre = "Fichier Excel(*.xlsx),*.xlsx"
        Titre = "Enregistrer le fichier sous"
        Chemin = Application.GetSaveAsFilename(FichierFinal, Filtre, , Titre)
     
        If Chemin = False Then
                Exit Sub
        Else
            Sh1.Copy
            ActiveWorkbook.Close savechanges:=True, Filename:=Chemin
        End If
     
        Sh1.Protect Password:="mdp", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True
     
    End Sub

    En espérant avoir correctement expliqué mon problème,

    Merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    J'essaierais ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Else
            Sh1.Copy
            ActiveWorkbook.Activesheet.Cells.Locked = True
            ActiveWorkbook.Close savechanges:=True, Filename:=Chemin
        End If

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Par défaut
    Parfait ! Merci beaucoup !

    Bonne fin de journée

  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
    Avant de verrouiller la feuille, il faut marquer les cellules à verrouiller.
    Si dans ton cas tu veux tout verrouiller, AVANT de protéger la feuille, il faudrait faire un truc qui ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.UsedRange.Locked = True
    https://msdn.microsoft.com/fr-fr/lib.../ff836172.aspx

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

Discussions similaires

  1. Ne pas afficher les feuilles PDF après enregistrement
    Par betourne15 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/05/2017, 14h37
  2. [XL-2010] problème d'execution d'envoi auto après enregistrement feuille active
    Par totoch14 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 26/02/2016, 09h00
  3. Réponses: 2
    Dernier message: 17/01/2016, 11h27
  4. [AC-2002] Verouiller une ligne (enregistrement) après validation
    Par Auron89 dans le forum IHM
    Réponses: 13
    Dernier message: 28/05/2010, 09h13
  5. [Excel/Macro] Envoi d'Email après enregistrement
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/11/2005, 09h15

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