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 :

Afficher popup après une action sur dropdown list


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut Afficher popup après une action sur dropdown list
    Bonjour à tout le forum,

    Voici le problème que je rencontre actuellement:
    J'ai une liste contenant plusieurs informations différentes. Dans cette liste se trouve également une cellule avec dropdown.
    Je voudrais afficher un message à l'utilisateur si celui-ci choisi une option spécifique dans la liste dropdown (admettons "choix A"), et également si le contenu d'une autre cellule (admettons A1) est égal à une certaine valeur.

    Attention, cette cellule contenant le dropdown est présente sur chaque ligne du tableau, mais ne contient pas forcément la même valeur. C'est pourquoi c'est bien l'action de choisir que je veux tester!

    N'étant pas très calé en visual basic, est-ce que quelqu'un aurait un exemple de fonction à me proposer?


    D'avance merci pour votre précieuse aide.


    Amicalement,

    Gub156

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si par DropDown tu entends une liste de validation (puisque tu dis qu'elle est "dans" une cellule), tu peux utiliser l'évènement "Change" de la feuille.
    Dès que la valeur d'une cellule quelconque est modifiée (donc également dès qu'on va faire une sélection dans la liste de validation), l'évènement s'active.

    A l'intérieur de cet évènement, il ne te reste qu'à conditionner l'affichage par trois critères :

    - que la modification a bien eu lieu sur une cellule contenant une liste de validation
    - que l'élément choisit dans la liste de validation fait partie des "valeurs sur lesquelles on fera un affichage de message"
    - que la valeur de la "cellule" dont tu donnes A1 en exemple soit égal au critère que tu souhaites

    exemple très simple :

    - la "cellule" est en A1 et doit contenir "toto"
    - on a deux lignes (ligne 5 et ligne 7) qui contiennent des listes de validation (qui sont positionnés sur la colonne A)
    - il faut choisir (au choix) "citron" ou "pomme" dans l'une des deux listes de validation

    ==> on affiche un message donnant la liste modifiée ainsi que sa valeur

    bien sûr, à adapter au contexte (on peut également t'y aider)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    ' On ne doit pas avoir modifié plusieurs cellules en même temps
    ' On ne doit pas avoir A1 qui contient autre chose que "toto"
    ' On ne doit pas avoir modifié une cellule autre que les listes de validation
        If Target.Cells.Count > 1 _
        Or Range("A1").Value <> "toto" _
        Or Intersect(Target, Union(Range("A5"), Range("A7"))) Is Nothing Then
            Exit Sub
        End If
     
    'Si on a choisis "pomme" ou "citron" on affiche le message
        If Target.Value = "pomme" Or Target.Value = "citron" Then MsgBox "La liste située en " & Target.Address & " a été modifiée avec la valeur " & Target.Value
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2013
    Messages : 3
    Par défaut
    Bonjour joe.levrai,

    Merci pour ta solution. J'ai réussi à adapter ton code pour qu'il s'adapte à mon application.

    Sujet résolu, donc ;-)


    Amicalement,


    Gub

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

Discussions similaires

  1. Exécuter une action sur un drop-down list
    Par Javix dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 08/12/2008, 17h35
  2. afficher un popup suite à une action
    Par LEYMANN dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/08/2008, 23h24
  3. Réponses: 3
    Dernier message: 05/08/2008, 11h17
  4. rafraichissement liste apres une action
    Par Immo dans le forum Struts 1
    Réponses: 2
    Dernier message: 20/08/2007, 13h09
  5. popup d'information après une action
    Par Immo dans le forum Struts 1
    Réponses: 1
    Dernier message: 03/08/2007, 17h21

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