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 :

utilisation de deux ComboBox avec if then


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut utilisation de deux ComboBox avec if then
    Bonsoir à tous
    j'utilise un userforme presentant une zone de saisie et deux ComboBox:
    ComboBox1 pour selectionner le produit
    ComboBox2 pour selectionner l'année
    Et aprés les deux selections je saisie les données .Je passe par un appel de procedure pour le chargement sur une feuille excel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Charger_Click()
       If ComboBox2.Value = "2009" Then
       Call extractive1
      Unload Me
    End If
    If ComboBox2.Value = "2009" Then
    Call travail1
      Unload Me
    End If
    End Sub
    pour le second chargement ça ne passe pas je voulais une aide
    la procedure extractive1 saisie les element d'un produit suivant l'année
    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
    18
    Private Sub extractive1()
    If ComboBox1.Value = "INDUSTRIES EXTRACTIVES" Then
    If Me.TextBox1.Text <> "" Then
             Sheets("CA industrie").Range("AN47").Value = Me.TextBox1
    End If
    If Me.TextBox2.Text <> "" Then
             Sheets("CA industrie").Range("AO47").Value = Me.TextBox2
    End If
    If Me.TextBox3.Text <> "" Then
             Sheets("CA industrie").Range("AP47").Value = Me.TextBox3
    End If
    If Me.TextBox4.Text <> "" Then
             Sheets("CA industrie").Range("AQ47").Value = Me.TextBox4
    End If
    If Me.TextBox5.Text <> "" Then
             Sheets("CA industrie").Range("AR47").Value = Me.TextBox5
    End If
    end sub
    et la procedure travail1
    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
    18
    Private Sub travail1()
    If ComboBox1.Value = "TRAVAIL DES GRAINS" Then
    If Me.TextBox1.Text <> "" Then
             Sheets("CA industrie").Range("AN52").Value = Me.TextBox1
    End If
    If Me.TextBox2.Text <> "" Then
             Sheets("CA industrie").Range("AO52").Value = Me.TextBox2
    End If
    If Me.TextBox3.Text <> "" Then
             Sheets("CA industrie").Range("AP52").Value = Me.TextBox3
    End If
    If Me.TextBox4.Text <> "" Then
             Sheets("CA industrie").Range("AQ52").Value = Me.TextBox4
    End If
    If Me.TextBox5.Text <> "" Then
             Sheets("CA industrie").Range("AR52").Value = Me.TextBox5
    End If
    End sub

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Salut,

    Fais voir ta procédure travail1. Ca doit venir de là.

    A+

    EDIT : pourquoi tu fais 2 conditions If ? Mets les 2 Call l'un après l'autre. Ca peut aussi venir de là. Tu as 2 fois la même Combobox avec la même valeur en condition. Ca ne sert vraiment à rien de faire 2 If et ça peut causer ton problème.

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Bonsoir,

    tu Unload ton USF après la première condition....

    si elle est vraie, l'USF se ferme..

    essaie plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Charger_Click()
    If ComboBox2.Value = "2009" Then
       Call extractive1
       Call travail1
      Unload Me
    End If
    End Sub

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour presser l' ami DeaD comme le dit mon ami dead Call extractive1
    c'est quoi ??? Call travail1 c' est quoi ???
    voila ce que ton code fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Charger_Click()
       If ComboBox2.Value = "2009" Then
       Call extractive1
      Unload Me
    End If
    tu as excatement la meme condition
    si combobox2="2009"
    par chronologie du code
    tu appeler que la 1 premiere condition donc extractive1 tu peus pas appeler Call travail1 j' espére que tu as compris a+

  5. #5
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, bonjour mapeh attention ecris comme cela tu appeles les 2 procedures je vois pas trop l' interêt

    pour être logique je verrais mieux un truc dans ce style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Charger_Click()
    If ComboBox1 =x and ou or  ComboBox2 =y Then
       Call extractive1
       else
    Call travail1
      end if
    unload me
    End Sub

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 317
    Par défaut
    Re,

    Salut Laeticia,

    d'après son code, c'est ce qu'il veut.....

    Maintenant, un ElseIf, s'il veut faire l'un ou l'autre code...

    Bonne soirée

  7. #7
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re mapeh pour moi c' est pas cohérent il teste les 2 conditions sur la méme combobox2 ca peut pas marcher ou il sait tromper attendons pour voir. passe une bonne soirée leti a+

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/08/2007, 20h17
  2. utiliser deux formulaire avec une seule action
    Par fouyou dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/05/2007, 20h40
  3. Datagrid et combobox avec deux datasource différents
    Par RaelRiaK dans le forum VB.NET
    Réponses: 9
    Dernier message: 07/02/2007, 09h20
  4. Réponses: 8
    Dernier message: 13/03/2006, 17h37
  5. [CSS] Utilisation de deux div avec float
    Par Ditch dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/10/2005, 15h48

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