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 :

Activation d'un bouton - Conditions Multiples [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Par défaut Activation d'un bouton - Conditions Multiples
    Bonjour,

    Je débute en VBA, et je bloque sur le point suivant :
    J'ai créé un userform qui a pour fonction d'incrémenter un tableau de production.
    Je souhaiterais desactiver le bouton de Validation tant que certaines valeurs ne sont pas renseignées.
    Ces valeurs se trouvent dans des ComboBox
    Elles sont au nombre de 3 " Combo_Dim, Programmes et Mois
    M est une variable
    J'ai donc procédé ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Initialize()
     
    CommandButton1.Enabled = False ' Desactiver le bouton a l'ouverture 
     
    If Combo_DIM = M And PROGRAMMES = M And MOIS = M Then
    CommandButton1.Enabled = True
    Else
    CommandButton1.Enabled = False
    End If
    Le probleme c'est que le bouton ne s'active pas.

    Merci par avance de votre aide.

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Le test des combobox ne doit pas être dans l'évenement initialize, mais dans l'évenement Change de chaque combobox.

  3. #3
    Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Par défaut
    Bonjour,

    Merci pour cette réponse rapide.
    J'ai donc suivi vos conseils :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Combo_DIM_Change()
    If Combo_DIM = M Then
    CommandButton1.Enabled = True
    Else
    CommandButton1.Enabled = False
    End If
    End Sub
    Et ce pour chaque Combobox.
    Malheuresement le bouton reste inactif.
    En me disant que M est déclaré en Private Sub UserForm_Initialize() ert donc inconnu dans cette procedure j'ai modifié le code en :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Combo_DIM_Change()
    If Combo_DIM = "" Then
    CommandButton1.Enabled = False
    Else
    CommandButton1.Enabled = True
    End If
    End Sub
    Il y a du mieux, mais le bouton s'active des la premiere Combobox renseignée.

    J'ai alors voulu déclaré une valeur public :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Sub Combobox_Value01()
    Dim X As Long
     
    If Combo_DIM = "" And PROGRAMMES = "" And MOIS = "" Then
    X = 0
    Esle
    X = 1
    End If
    End Sub
    J'ai ensuite voulu appliquer le meme schema que précedement c'est a dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Combo_DIM_Change()
     
    If X = 0 Then
    CommandButton1.Enabled = True
    Else
    CommandButton1.Enabled = False
    End If
    End Sub
    Meme résultat. Désolé d'etre si brouillon et confus dans mes demandes

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Plutôt comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Test_Combo()
     
    If Combo_DIM <> "" And PROGRAMMES <> "" And MOIS <> "" Then
        CommandButton1.Enabled = True
    Else
        CommandButton1.Enabled = False
    End If
     
    End Sub
    puis dans chaque combobox_Change (en partant du principe que PROGRAMME et MOIS sont des combobox)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Combo_DIM_Change()
    Test_Combo
    End Sub
    Private Sub PROGRAMMES_Change()
    Test_Combo
    End Sub
    Private Sub MOIS_Change()
    Test_Combo
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Décembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 3
    Par défaut
    Ca fonctionne parfaitement,
    Merci beaucoup pour ces réponses rapides

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

Discussions similaires

  1. Calcul requête avec conditions multiples
    Par Phullbrick dans le forum Access
    Réponses: 7
    Dernier message: 18/04/2006, 13h45
  2. comment activer/desactiver un bouton de controle
    Par OyyoDams dans le forum MFC
    Réponses: 17
    Dernier message: 09/04/2006, 11h15
  3. Calculs dans une requete avec conditions multiples
    Par Sha1966 dans le forum Access
    Réponses: 3
    Dernier message: 13/01/2006, 15h18
  4. Réponses: 5
    Dernier message: 19/08/2005, 17h32
  5. Switch et conditions multiples
    Par The Wretched dans le forum Langage
    Réponses: 4
    Dernier message: 19/04/2005, 13h57

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