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 :

empêcher une modification de cellule manuelle mais pas avec un double click


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2014
    Messages : 93
    Par défaut empêcher une modification de cellule manuelle mais pas avec un double click
    Bonjour tout le monde

    Voilà aprés quelques recherches, je n'ai pas trouvé de solution moi même, ni via l'aide d'internet...

    J'ai un fichier de gestion on va dire, et j'aimerai bloquer quelques cellules spécifiques pour qu'on ne puisse pas les modifier manuellement (c'est à dire la sélectionner et taper directement un nouveau nombre dedans) car elle doit entrainer un certain nombre de calculer dont la valeur d'avant, qui est perdu si l'on fait comme cela. Mais par contre je veux qu'on double click dessus, pour lancer une macro évènementielle (code déjà fait).
    Sur divers forum et site, j'ai trouvé comment bloquer la feuille ou quelques cellules mais aprés on ne peut plus double cliquer...

    donc pour résumer, j'aimerai bloquer une cellule sauf si je double clique dessus.

    Merci pour votre temps et votre aide

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Par défaut
    Bonjour,

    Il suffit de protéger la feuille (y compris la cellule concernée) !

    L'évènement BeforeDoubleClick se produit aussi sur les feuilles protégées.
    Il suffit de déprotéger / re-protéger la feuille dans le code évènementiel

  3. #3
    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
    Exactement comme le dit Patrick740 que je salue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
        ActiveSheet.Unprotect "Mot de passe"   'on déprotège
            Cancel = True               'libère la cellule du mode édition
            Call TaProcedure(Target)    'appel de la procédure
        ActiveSheet.Protect "Mot de passe"   'on reprotège
    End Sub
     
    Sub TaProcedure(cell As Range)
        cell = "le calcul à y faire"
    End Sub

Discussions similaires

  1. Script fonctionnant en manuel mais pas avec cron
    Par megayaya dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 28/03/2013, 13h06
  2. Réponses: 2
    Dernier message: 09/10/2007, 12h31
  3. Réponses: 1
    Dernier message: 03/08/2007, 11h09
  4. Réponses: 2
    Dernier message: 04/02/2007, 17h16
  5. Réponses: 1
    Dernier message: 13/04/2006, 13h21

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