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 :

Condition vba verrouiller cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut Condition vba verrouiller cellule
    Bonjour,

    Je souhaite verrouiller une cellule en fonction des valeurs d'une autre cellule contenant une liste.Pb_condition.xlsx

    Dans le fichier joint j'ai en cellule D2 de l'onglet "Donnee" une liste définit dans l'onglet "Liste".

    Je souhaite pour vérrouillé ou non (saisie impossible et griser) la cellule A2 (onglet Donnee) en fonction du choix effectué dans la liste D2.

    Par exemple: si je choisit "soudeur", "assistant technique" ou "mecanicien" de la liste en cellule D2, A2 sera inaccessible et grisé.

    Dans le cas contraire elle reste accessible pour y entrer ce que je veux.

    Avez vous une solution ?

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,
    Je ne sais pas si c'est la meilleure, mais voici une idée : à l'aide de la validation des données, imposer un texte de longueur < 0 (du coup, aucune saisie n'est acceptable).
    Pour griser, tout simplement une mise en forme.
    Pour obtenir le code associé : enregistreur de macro --> code à adapter !!
    Attention, à ne pas oublier d'enlever la restriction et la mise en forme lorsque la valeur de la cellule de controle change.

  3. #3
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Ok, j'essaie ça.

    Merci.

  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
    Deux questions :

    Le blocage doit-il se produire pour tous les termes de la liste ?

    Imaginons que l'opérateur mette "soudeur" en D2 puis supprime le contenu de D2, est-ce que la case A2 doit de nouveau être accessible à la modification ?

  5. #5
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Oui il faut qu'elle soit accessible.

    Autre problème,

    J'ai une list box qui contient des données et une checkbox à coté.

    Comment lier les 2 de façon à ce que lorsque je coche la checkbox, cela soit affecté à une donnée de la listbox,

    Ainsi si je choisit une autre donnée de la listbox, ma checkbox sera décoché mais si je reviens sur la donnée précédente je retrouve ma checkbox cochée.



    Exemple:

    J'ai 10 données (A, B, C, D, E, F, G, H, I, K) dans la listebox

    je choisit "C" dans la listbox, et coche la checkbox

    Je vais sur "E", ce changement doit décocher la checkbox

    Je reviens sur "C", je dois retrouver la checkbox cochée.


    Un peu compliqué, avez vous des idées ?

  6. #6
    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
    Tu n'as pas répondu à la question concernant l'intégralité de la liste alors on va supposer que la réponse est oui.
    En supposant que ta liste est en H1:H10

    Sélectionne A2 > Ruban Données > Icone Validation de données > Validation de données > Autorisé = Personnalisé > Formule : =ESTNA(EQUIV(D2;H1:H10;0)) > Ok

    Pour la passer en grissé, tu utilises une mise en forme conditionnelle avec une formule équivalente, par exemple =ESTNUM(EQUIV(D2;H1:H10;0))

  7. #7
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Effectivement c'était oui.

    le problème est un peu différent maintenant,

    la listbox et la checkbox sont dans un userform

    Les donnés proviennent d'une base de donnée MySQL.

    Sans aborder les notions de SQL pour le moment, ce qui m'intéresse la correspondance entre checkbox et listbox comme détaillé dans le message précédent.

  8. #8
    Membre confirmé
    Homme Profil pro
    gestion
    Inscrit en
    Mai 2017
    Messages
    163
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : gestion

    Informations forums :
    Inscription : Mai 2017
    Messages : 163
    Par défaut
    Par contre quand je dis oui à la question précédente ce n'est pas que c'est résolu,

    C'est juste que ça ne correspond pas à ce que je cherche,

    je cherche le code en VBA qui me permettrait de faire ça et pas autre chose.

    Même si c'est meilleur et plus rapide.

    Le [code en VBA].

Discussions similaires

  1. [XL-2003] VBa selection cellules avec condition
    Par gwencab dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/01/2011, 16h49
  2. [Toutes versions] Bouton VBA verrouillé puis déverouillé sous condition
    Par vivi4561 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/08/2009, 08h28
  3. macro vba identifier cellule sous condition
    Par yanacrux dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/03/2009, 14h00
  4. [VBA-E]-Verrouiller cellules
    Par gantec dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/04/2007, 13h53
  5. [VBA-E] condition dans les cellules
    Par ricachu dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/08/2006, 09h45

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