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 :

Comment détecter une tentative de saisie dans une cellule verrouillée ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut Comment détecter une tentative de saisie dans une cellule verrouillée ?
    Bonjour à tous,

    Je post ici car je pense que ce que je cherche ne peut se faire qu'en VB (si c'est possible bien sûr) mais une solution sans VB me conviendrai parfaitement.

    Tout est dans le titre mais je vais détailler ma problématique :
    J'ai dans un classeur utilisé par plusieurs collaborateurs une feuille protégée sur quelques colonnes.
    La saisie d'une des colonnes verrouillée se fait via un UserForm à l'aide d'un gros bouton juste au-dessus de la ligne d'en-tête.

    Jusqu'ici aucuns soucis ! Mais il arrive ... C’est l’utilisateur qui ouvre le fichier
    Le fameux bouton n'est pas assez gros et il ne le voit pas (les volets sont figés donc le bouton est toujours visible).
    Même avec des flèches, des voyants, ... je crois que les utilisateurs sont fait pour ignorer les boutons
    Alors ils cliquent dans la cellule et ... ça marche pas

    En résumé et plus sérieusement j'aimerais savoir s'il est possible d'intercepter le message par défaut d'Excel lors d'une tentative de saisie dans une cellule verrouillée.
    Cela me permettrais d'afficher à la place ou en plus du message d'Excel, un message lui demandant d'utiliser le bouton.

    J'espère être clair.
    Merci d'avance et bonne journée à tous

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour antonysansh,

    Sur ton Worksheet_activate, tu envoies un MsgBox pour dire à l'utilisateur de cliquer sur ton bouton, et le tour est joué, non ?

    Cordialement,
    Kimy

  3. #3
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Bonjour Kimy_Ire,

    Merci pour ton intérêt.

    Il s'agit d'une seule colonne de ma feuille en réalité.
    Je ne veux pas mettre de contrôle dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheet_SelectionChange
    car l'utilisateur peut activer la cellule sans qu'il n'ait besoin d'en modifier le contenue.

  4. #4
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 Then
     
     Cancel = True
     MsgBox "Veuillez utiliser le bouton"
     
    End If
    End Sub

  5. #5
    Membre Expert Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Par défaut
    Merci Docmarti pour ta réponse.

    J'avais déjà ce bout de code et en fait il ne me satisfait par totalement car peu d'utilisateur utilise le DoubleClick pour une saisie, souvent ils ne font que sélectionner la cellule et utilise le clavier.

    Au passage savez-vous s'il existe un évènement "Quand j'entre dans une cellule" qui se déclencherais sur un DoubleClick ou sur une frappe clavier ? (Un peu ce que fait Excel lui-même lorsqu'on utilise F2)

  6. #6
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Citation Envoyé par antonysansh Voir le message
    Merci Docmarti pour ta réponse.

    J'avais déjà ce bout de code et en fait il ne me satisfait par totalement car peu d'utilisateur utilise le DoubleClick pour une saisie, souvent ils ne font que sélectionner la cellule et utilise le clavier.
    Voici une façon de contourner le problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Target.Column = 1 Then
      UserForm1.Show vbModeless
     Else
      UserForm1.Hide
     End If
    End Sub
    Citation Envoyé par antonysansh Voir le message
    Au passage savez-vous s'il existe un évènement "Quand j'entre dans une cellule" qui se déclencherais sur un DoubleClick ou sur une frappe clavier ? (Un peu ce que fait Excel lui-même lorsqu'on utilise F2)
    Bien c'est l'événement Worksheet_BeforeRightClick. Ça ressemble beaucoup à F2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
     
    End Sub

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/09/2015, 17h26
  2. comment interpreter les balises html saisies dans une zone de texte
    Par programmatrice dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 17/04/2012, 15h04
  3. Réponses: 2
    Dernier message: 25/11/2011, 22h29
  4. Réponses: 1
    Dernier message: 26/12/2010, 21h20
  5. Réponses: 11
    Dernier message: 17/03/2007, 20h17

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