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 :

Excel_Action quand cellule perd le focus


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Excel_Action quand cellule perd le focus
    Bonjour,
    j'utilise un tableau qui possède 27 colonnes.
    Les 9 premières lignes sont verrouillées. Elles servent d'en-tête de colonnes et comprennent des cellules de calcul pour synthétiser les différentes données qui sont saisies dans le tableau.
    Un bouton de commande permet d'enlever la protection sur la cellule D5 afin d'autoriser sa modification par l'utilisateur.
    Je ne veux pas utiliser de second bouton pour reverrouiller cette cellule. Je souhaiterais plutôt que cette dernière se verrouille automatiquement dès appui sur la touche "Entrée" ou dès que l'utilisateur clique sur l'une ou l'autre des cellules libres du tableau (A10-AA65536) (c'est ce qui s'appelle, je crois, perdre le focus).
    Si quelqu'un pouvait m'aider à résoudre ce problème.
    Par avance, merci

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    L'évènement Change de la feuille pourrait peut-être convenir.

    PGZ

  3. #3
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Citation Envoyé par pgz Voir le message
    Bonjour.

    L'évènement Change de la feuille pourrait peut-être convenir.

    PGZ
    associé à l'événement : Worksheet_Deactivate()

    et Close du classeur

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Effectivement PGZ, j'y avais pensé avec ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private sub Worksheet_change(ByVal Target As Range)
         Select Case Target.Address
              Case "$A$10:$AA$65536" : Verrou
         End select
    End Sub
    Ceci ne marche pas alors que :
    fonctionne mais uniquement en pointant sur la case A10
    Pour répondre à JackOuYa, je ne veux pas utiliser cette méthode qui demande à fermer le classeur alors que l'on veux travailler dessus
    Merci à tous les deux

  5. #5
    Membre éprouvé
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Points : 1 191
    Points
    1 191
    Par défaut
    Il n'est pas bon ton case , tu peu utiliser intersect .., pour tester si target et bien dans ta plage..

    mais tu n'as pas besoin de tester tu verrouille tout-tout simplement...;

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Une ancienne manière de coder ferait peut être l'affaire ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    Set Rng = Range("$A$10:$AA$65536")
        If Not Intersect(Target, Rng) Is Nothing Then
            Application.Run("Verrou")
        End If
    End Sub

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Merci à vous 3 pour vos réponses aussi rapides. Grâce à vous en adaptant le code à James007, cela correspond à ce que je voulais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Rng As Range
    Set Rng = Range("$A$10:$AA$65536")
        If Intersect(Target, Rng) Is Nothing Then SortirFormateurs
    End Sub

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 15
    Points : 17
    Points
    17
    Par défaut
    Content que tu aies pu résoudre ton problème ...
    A +

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

Discussions similaires

  1. methode quand un champ perd le focus
    Par Agriesean dans le forum VBA Word
    Réponses: 3
    Dernier message: 12/11/2013, 10h13
  2. Quiter Excel quand l'Appli perd le Focus
    Par Dorpheo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/10/2010, 09h33
  3. Executer du code quand Access perd le focus
    Par Patrick Seuret dans le forum Access
    Réponses: 2
    Dernier message: 30/03/2007, 14h53
  4. Quand un Text perd le focus
    Par feed_our_vision dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/06/2006, 06h39
  5. recuperer la valeur d'une cellule ayant le focus
    Par stefano dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/03/2006, 20h07

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