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 :

MsgBox en fonction de valeurs d'un menu déroulant Excel [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut MsgBox en fonction de valeurs d'un menu déroulant Excel
    Bonjour

    je cherche un code VBA qui me permettrait, en fonction de valeurs d'un menu déroulant, d'obtenir une message box (VbOkOnly) avec un message d'information.

    Actuellement, voila ce que j'ai fait
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Valeur As Variant
    Valeur = Range("C5")
     
    If Valeur = ("30/360") Then
    MsgBox ("la base 30/360 ne s'applique que pour les crédits à court terme", vbOKOnly + vbInformation, "Information")
     
    ElseIf Valeur = ("Exact/360") Then
    MsgBox ("la base E/360 ne s'applique que pour les crédits à court terme" , vbOKOnly + vbInformation, "Information")
     
    Else: MsgBox ("la base E/365 ne s'applique que pour les crédits à long terme", vbOKOnly + vbInformation, "Information")
     
    End Sub

    Bien sur ça ne marche pas, et je précise que je suis débutant premier sous niveau en VBA
    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    essayes ce code , en regardant mes questions
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    'ta liste déroulante, que j'appellerais liste de validation est en C5 ?
    'si oui
    Dim Valeur As String
    Valeur = Range("C5")
    '30/360 représente une donnée de la liste ?
    'si oui
    If Valeur = "30/360" Then
      MsgBox "la base 30/360 ne s'applique que pour les crédits à court terme", vbOKOnly, vbInformation
    'idem ci-dessous
    ElseIf Valeur = "Exact/360" Then
    MsgBox "la base E/360 ne s'applique que pour les crédits à court terme", vbOKOnly, vbInformation
     
    Else: MsgBox "la base E/365 ne s'applique que pour les crédits à long terme", vbOKOnly, vbInformation
    End If
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 184
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mis à part que j'opterais pour un Select Case plutôt que des ElseIf, je ne saisi pas bien ta demande.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut
    Je vais essayer d'être plus clair.

    En C5 d'une feuille excel, j'ai un menu déroulant avec 3 valeurs :
    30/360
    Exact/360
    Exact/365

    Je souhaite informer l’utilisateur de la particularité des 3 valeurs via des msgbox, à savoir
    pour le 30/360 : la base 30/360 ne s'applique que pour les crédits à court terme
    pour le Exact/360 : la base E/360 ne s'applique que pour les crédits à court terme
    et pour le Exact/365 : la base E/365 ne s'applique que pour les crédits à long terme

    Mon d'objectif est donc qu'une "popup" apparaisse à chaque fois qu'une valeur est choisie :
    par exemple, l'utilisateur choisi la valeur Exact/360 => ouverture du message informatif "la base Exact/360..."
    Il clique sur OK et c'est tout.

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Si c'est bien une liste de validation comme précisé par casefayere, tu pourrais utiliser le message de saisie lorsque tu crées cette liste (2e onglet).

    De cette façon, l'utilisateur a toute l'info nécessaire avant même de faire sa sélection et n'a pas à cliquer "OK" à chaque fois qu'il fait une entrée...

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Si c'est bien une liste de validation comme précisé par casefayere, tu pourrais utiliser le message de saisie lorsque tu crées cette liste (2e onglet)
    tout juste
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2013
    Messages : 20
    Par défaut
    Ok ça marche

    merci bcp !

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

Discussions similaires

  1. Requête prenant une valeur dans un menu déroulant
    Par skerboeu dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/12/2008, 12h44
  2. Récupérér les valeurs d'un menu déroulant dans un champ texte
    Par chnizer dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 25/08/2008, 16h47
  3. Placer la valeur d'un menu déroulant dans un champ text
    Par nizzart dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/04/2008, 12h30
  4. Changer la valeur de mon menu déroulant
    Par cdevl32 dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2008, 22h24
  5. Récupérer une valeur d'un menu déroulant
    Par lupus83 dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2008, 23h01

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