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

Excel Discussion :

Bloquer une liste déroulante dans une cellule après une date passée


Sujet :

Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    ouvrier
    Inscrit en
    Juin 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Juin 2016
    Messages : 69
    Par défaut Bloquer une liste déroulante dans une cellule après une date passée
    Bonjour,

    je cherche à empêcher la modification d'une cellule gérer par une liste déroulante après une date passée !

    j'ai une liste dans =DATA_1_TEAMS!$J$1:$J$3 et je voudrais que celle-ci ne sois plus active après le 30/06/2018, j'ai essayé avec une condition Si .... , mais je n'y arrive pas !

    le mieux serai de ne plus pouvoir dérouler la liste ou bien d'interdire la modification de la cellule après la date butoir, mais cette dernière solution ne peu se coupler avec une liste déroulante, ou bien je n'ai pas trouvé.

    Merci de votre aide

  2. #2
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Bonjour flobox,

    Essayez cette formule en validité de la cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =si(aujourdhui()>="votredatebutoir";"votredatebutoir";DATA_1_TEAMS!$J$1:$J$3

  3. #3
    Membre confirmé
    Homme Profil pro
    ouvrier
    Inscrit en
    Juin 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Juin 2016
    Messages : 69
    Par défaut
    Bonjour,

    Merci de ta réponse mais cela ne fonctionne pas !
    de mon coté j'ai essaye ca : =SI(NB.SI(L2;"*vrai*");DATA_1_TEAMS!$J$1:$J$3;trop tard)

    La condition "vrai" est défini dans un cellule avec un < qui défini la date butoir, et renvoi, Vrai ou Faut,

    Mais le résultat de cette formule me renvoi toujours, le texte "Trop tard" !!! et ne me donne pas le droit du coup de dérouler la liste comprise entre j1 et j3

    Merci

  4. #4
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Le but est bien de bloquer la liste déroulante et de forcer l'affichage de la date butoir?
    De quel type sont les données contenues dans DATA_1_TEAMS!$J$1:$J$3?
    Quelle est la cellule contenant la date définissant la date butoir?
    ("La condition "vrai" est défini dans un cellule avec un < qui défini la date butoir, et renvoi, Vrai ou Faut")
    Essayez avec votre formule modifiée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(L2=1;"trop tard";DATA_1_TEAMS!$J$1:$J$3)
    parce que =NB.SI(L2;"*vrai*") va toujours décompter une cellule dans la zone L2:L2

  5. #5
    Membre éclairé
    Homme Profil pro
    contrôle de gestion - data management
    Inscrit en
    Mai 2018
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : contrôle de gestion - data management
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2018
    Messages : 33
    Par défaut
    Bonjour, je vous propose ce code VBA à insérer dans le module votre feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    Dim wb As Workbook
    Dim ws As Worksheet
    Set wb = ThisWorkbook
    Set ws = wb.Worksheets("taFeuille")
     
    'changer "A1 par l'adresse de la cellule ou se trouve la liste déroulante"
    If Not Application.Intersect(Target, ws.Range("A1")) Is Nothing Then
     
        If Date > "30/06/2018" Then
            'active une autre cellule ("A2" à changer si besoin) et empêche ainsi la modification de la liste déroulante
            ws.Range("A2").Activate
        End If
     
    End If
    End Sub

  6. #6
    Membre expérimenté
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Par défaut
    Bonjour

    Voici ma technique pour parvenir à ce résultat : j'utilise une fonction DECALER pour déterminer la plage qui contient la liste déroulante, en conditionnant l'argument hauteur (ou largeur si ma liste est horizontale). Dans les captures d'écran suivantes, j'ai appliqué la même validation aux cellules F5 et F6.

    Lorsque sélectionne F5 (avec E5 antérieure à ma date butoir), j'ai bien la liste déroulante.

    Nom : Date butoir avant.jpeg
Affichages : 873
Taille : 52,6 Ko


    Lorsque je sélectionne F6 (avec E6 postérieure à la date butoir), rien ne se passe !

    Nom : Date butoir après.jpeg
Affichages : 860
Taille : 44,1 Ko

    Voici la fonction qui détermine la liste de validation (à saisir en ayant sélectionné F5:F6)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =DECALER($B$4:$B$7;0;0;4*(E5<$F$2))
    A adapter avec ta plage liste et ta condition.

  7. #7
    Membre confirmé
    Homme Profil pro
    ouvrier
    Inscrit en
    Juin 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Juin 2016
    Messages : 69
    Par défaut
    Merci a tous ,

    Le VBA je ne peu pas car le fichier va allez sur excel online et donc pas de prise en charge de la VBA

    Catapoulpe c'est exactement ce que je veux faire, je test sur mon fichier dés que j'ai le temps !

    Merci

  8. #8
    Membre émérite
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 678
    Par défaut
    Il manque un paramètre dans votre formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(L2;"*vrai*");DATA_1_TEAMS!$J$1:$J$3;trop tard)
    qui pourrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(L2;"*vrai*")=1;DATA_1_TEAMS!$J$1:$J$3;trop tard)

  9. #9
    Expert éminent

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

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

    Informations forums :
    Inscription : Février 2010
    Messages : 8 609
    Par défaut
    Bonjour
    Citation Envoyé par njhub Voir le message
    Il manque un paramètre dans votre formule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(L2;"*vrai*");DATA_1_TEAMS!$J$1:$J$3;trop tard)
    qui pourrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(NB.SI(L2;"*vrai*")=1;DATA_1_TEAMS!$J$1:$J$3;trop tard)
    Tu devrais tester avant de poster ! Si le NB.SI renvoie autre chose que 0 il renvoie vrai dans la condition. La logique booléenne raccourcit la formule...

  10. #10
    Membre expérimenté
    Femme Profil pro
    Technicienne
    Inscrit en
    Avril 2018
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicienne

    Informations forums :
    Inscription : Avril 2018
    Messages : 153
    Par défaut
    Re

    Peut-être plus proche de ce que tu recherches :

    Nom : Date butoir.jpeg
Affichages : 734
Taille : 31,6 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Avec pour définir la liste de validation des cellules B2:B5
    =DECALER($J$1:$J$3;0;0;3*(AUJOURDHUI()<B2))
    La liste déroulante ne s'affiche (du moins aujourd'hui 12 mai 2018) que pour Papi et Fifille. Pour Mamie et Fiston rien ne s'affiche, tu as oublié leur anniversaire !

  11. #11
    Membre confirmé
    Homme Profil pro
    ouvrier
    Inscrit en
    Juin 2016
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ouvrier

    Informations forums :
    Inscription : Juin 2016
    Messages : 69
    Par défaut
    MERCI MERCI MERCI

    Ça marche au top !!!!

    Bonne nuit

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2016, 14h24
  2. Réponses: 3
    Dernier message: 18/12/2012, 09h08
  3. Réponses: 5
    Dernier message: 21/06/2012, 14h22
  4. Réponses: 2
    Dernier message: 24/08/2011, 06h47
  5. enregistrer une image dans une base de données d'après une liste déroulante
    Par doud180878 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/08/2010, 15h25

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