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

  1. #1
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut Insérer des lignes dans une feuille protégée

    Bonjour,

    j'ai une feuille protégée pour éviter les mauvaises manipulations, cependant je voudrai que l'utilisateur puisse insérer des lignes par "accueil / insérer / Insérer des lignes dans la feuille" sans avoir à déclencher une macro VBA

    La protection souhaitée est pour protéger des lignes entières en début de la feuille, ensuite les lignes ne contiennent plus aucune cellule verrouillée, ce qui n'empêche qu'on ne peut pas insérer une ligne si la feuille est protégée entièrement.

    Je crains qu'en Excel pur on ne puisse pas..

    A moins qu'on puisse avec une macro évènementielle en déprotégeant et reprotégeant la feuille, mais je ne vois pas du tout comment la déclencher sur une demande d'insertion
    Il ne savait pas que c'était impossible, donc il l' a fait...

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    11 144
    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 : 11 144
    Points : 22 476
    Points
    22 476

    Par défaut

    Ruban Révision > Icone Protéger la feuille > Cocher "Insérer des lignes" > Ok
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut

    Merci je ne connaissais pas ces possibilités,

    cela marche bien sur le classeur, par contre j'enregistre, je ferme mais quand je l'ouvre à nouveau, les cases cochées ont disparues
    Il ne savait pas que c'était impossible, donc il l' a fait...

  4. #4
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut

    Bonjour,

    j'ai recréé à partir de zéro mon classeur, je confirme qu'avec un code spécifique à la feuille, les paramètres autorisant "insérer" et "supprimer" les lignes au moment de la protection disparaissent lors de la prochaine ouverture du classeur.

    Peut être n'y a-t-il aucun lien, mais en tout cas le problème existe, et je suis obligé de ne pas protéger la feuille contre les mauvaises manipulations
    Il ne savait pas que c'était impossible, donc il l' a fait...

  5. #5
    Membre du Club
    Homme Profil pro
    En stand by
    Inscrit en
    avril 2018
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En stand by

    Informations forums :
    Inscription : avril 2018
    Messages : 51
    Points : 50
    Points
    50

    Par défaut

    Bonjour,

    Si tu veux insérer des lignes par "accueil / insérer / Insérer des lignes dans la feuille", après avoir protégé ta feuille avec un mot de passe ou non, il te faut sélectionner la ligne en dessous de laquelle tu veux insérer la nouvelle ligne.

    Si tu ne sélectionnes pas de ligne mais juste une cellule, la fonction "accueil / insérer" est effectivement grisée et donc non opérationnelle.

    Cordialement

    Philippe

  6. #6
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut

    Cela ne change rien,

    le pb vient du fait que la case "insérer des lignes" que j'ai cochée dans la protection de la feuille se trouve décochée quand j'ouvre à nouveau le classeur
    Il ne savait pas que c'était impossible, donc il l' a fait...

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    juin 2007
    Messages
    11 144
    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 : 11 144
    Points : 22 476
    Points
    22 476

    Par défaut

    Citation Envoyé par retraite83 Voir le message
    le pb vient du fait que la case "insérer des lignes" que j'ai cochée dans la protection de la feuille se trouve décochée quand j'ouvre à nouveau le classeur
    Deux questions :
    1 - Comment sais-tu qu'elle est décochée ? A ma connaissance, il n'est pas possible d'accéder à ces options sans ôter la protection.
    2 - Sous quel format enregistres-tu ton fichier ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut

    BONJOUR

    1)effectivement je vois que la case est décochée quand je retire la protection de la feuille, cependant les autres classeurs protégés de la même façon ont toujours cette case cochée quand je déprotège aussi la feuille correspondante, j'en conclu que la case a bien été décochée d'une manière ou d'une autre

    2) mon classeur est un classeur xlsm
    Il ne savait pas que c'était impossible, donc il l' a fait...

  9. #9
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut Peut être une explication...

    Bonjour,

    en fouillant un peu partout, je crois avoir une explication sans certitude mais plausible

    Il se trouve qu'à l'Open de ce classeur dans ThisWorkbook, je déprotège et reprotège le classeur pour un besoin particulier, il est donc probable qu'à la reprotection l'attribut "insérer les lignes" et "supprimer les lignes" ne soient pas reconduit

    Il doit bien y avoir un paramètre pour les reconduire lors de la reprotection en VBA, je cherche mais pour l'instant je ne trouve pas...
    Il ne savait pas que c'était impossible, donc il l' a fait...

  10. #10
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut L'explication

    Bonjour,

    En retirant le code de mon ThisWorkbook, le problème disparaît, donc c'est bien la déprotection et reprotection par VBA qui fait que les paramètres sont perdus.

    J'ai cherché un peu partout et j'ai trouvé peut-être une façon de faire

    Voilà le bout de code que j'essaye de faire marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim PWD As String
    Dim ReProtect
     
     PWD = "mot de passe"
     
        ActiveSheet.Unprotect PWD
        ReProtect = True
     
        With ActiveSheet
            .ListRows.Add AlwaysInsert:=True
            .Protect PWD
        End With
    Je n'arrive pas à aller plus loin (erreur 438 sur la ligne .ListRows)

    Est-ce une bonne piste ?

    merci
    Il ne savait pas que c'était impossible, donc il l' a fait...

  11. #11
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    février 2010
    Messages
    5 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : février 2010
    Messages : 5 437
    Points : 10 124
    Points
    10 124

    Par défaut

    Bonjour

    Regarde l'aide en ligne sur Protect : tu y retrouves tous les paramètres de la protection. A à toi de préciser les paramètres qui te conviennent car pas défaut la protection est totale.
    Chris

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  12. #12
    Membre habitué
    Homme Profil pro
    Retraité
    Inscrit en
    juillet 2017
    Messages
    397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : juillet 2017
    Messages : 397
    Points : 169
    Points
    169

    Par défaut

    Yes ! Thank you

    encore un pan de VBA que je découvre, merci, c'est parfait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim AllowInsertingRows As Variant
    Dim AllowDeletingRows As Variant
    ActiveSheet.Protect Password:="mot de passe", AllowInsertingRows:=True, AllowDeletingRows:=True
    Il ne savait pas que c'était impossible, donc il l' a fait...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/02/2012, 14h27
  2. Insérer des lignes dans une table efficacement
    Par newbie82 dans le forum MS SQL-Server
    Réponses: 2
    Dernier message: 31/07/2007, 17h01
  3. [VBA-E] Problème pour insérer des lignes dans une feuille Excel
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/04/2007, 14h13
  4. Réponses: 9
    Dernier message: 19/02/2007, 20h33
  5. Insérer des lignes dans une StringGrid
    Par da_latifa dans le forum Composants VCL
    Réponses: 1
    Dernier message: 26/09/2005, 12h45

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