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 :

Filtre sur une ComboBox avec case cochée et les valeurs d'une colonne [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 58
    Points : 54
    Points
    54
    Par défaut
    Bonjour le Forum,

    J’arrive à faire 2 ou 3 trucs mais la je bloque et j’ai vraiment besoin de votre aide s’il vous plait.


    Voila:
    J'ai créer une "UserFormVerficacion2" dans laquelle je viens de rajouter un bouton : E-Mail qui ouvre lui-même une autre "UserFormEmail".

    Dans l'UserFormVerification2 se trouvent des CheckBox qui correspondent a des types de contact: type "Order entry form","PMS","RBS"...

    Dans UserFormEmail, il existe une ComboBox1 qui repertorie les noms dans laquelle, j’arrive à charger les noms qui se trouvent colonne BF sur ma feuille Excel. Les TextBox correspondant aux prénoms et E-mails se chargent aussi (respectivement colonne BG et BH).

    Dans la colonne BI, je renseigne le type de contact.
    Dans un premier temps,

    Je souhaiterai ajouter la condition à l’« Intitialization » de la Combobox1 (dans UserFormEmail) pour n’afficher que les Clients qui correspondent au type coché.


    Par exemple :Lorsque je coche « Order entry Form » sur l'UserFormVerificacion2, puis que je clique sur le bouton « E-Mail » il ne doit apparaitre dans la ComboBox1 que les noms qui ont pour valeur en "BI": "order entry form"

    Plus tard, je souhaiterai que lorsque je clique sur le bouton Envoyer un E-mail s’adressant a la personne sélectionnée s’ouvre directement. Mais chaque chose en son temps.

    Merci d’avance pour vos réponses. Si je n’ai pas été assez clair posez moi des questions.

    J'ai un fichier explicatif si vous le necessitez mais je ne px pas le mettre sur le forum.

    Bruno

    Voici le code que j'utilise pour charger ma ListBox et mes TextBox:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    'Charger liste deroulante
     
    Dim J As Long
    Dim Ws As Worksheet
     
    ComboBox1.Clear
     
      Set Ws = Sheets("OEP CONTROL")
      With Me.ComboBox1
        .ColumnCount = 2
        .ColumnWidths = "-1;0"
     
        For J = Ws.Range("BF" & Rows.Count).End(xlUp).Row To 11 Step -1
     
                If Ws.Range("BF" & J) <> "" Then
     
              .AddItem Ws.Range("BF" & J)
              .List(.ListCount - 1, 1) = J
     
     
        End If
        Next J
      End With
     
    End Sub
     
     
    Private Sub ComboBox1_Change()
    Dim i As Integer
    'feuille dans laquelle je travaille: Ws
    Dim Ws As Worksheet
    Dim Cel As Range
     
      If Me.ComboBox1.ListIndex = -1 Then Exit Sub
      Set Ws = Sheets("OEP CONTROL")
     
      'Colonne BG: Nombre
                TextBox1 = Ws.Cells(Me.ComboBox1.Column(1), "BG")
    'Colonne BH: Correo
                TextBox2 = Ws.Cells(Me.ComboBox1.Column(1), "BH")
     
    End Sub

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 58
    Points : 54
    Points
    54
    Par défaut
    Bonujour

    J'ai trouvè une solution qui marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    For J = Ws.Range("BF" & Rows.Count).End(xlUp).Row To 11 Step -1
     
                If Ws.Range("BF" & J) <> "" And Ws.Range("BI" & J) = "Order Entry Form" And UserFormVerificacion2.CheckBox1 = True _
    '... autres CheckBoxes
               Or Ws.Range("BF" & J) <> "" And Ws.Range("BI" & J) = "Ingeniería Ready" And UserFormVerificacion2.CheckBox29 = True _
               Or Ws.Range("BF" & J) <> "" And Ws.Range("BI" & J) = "OTF en Red" And UserFormVerificacion2.CheckBox30 = True Then
     
              .AddItem Ws.Range("BF" & J)
              .List(.ListCount - 1, 1) = J
     
        End If
        Next J
      End With
    Merci Cdt Bruno

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

Discussions similaires

  1. Récupérer les valeurs d'une combobox
    Par Many31 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/07/2009, 15h16
  2. Tri sur les valeurs d'une HashTable avec duplicats
    Par extenbrisadlucem dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 01/08/2008, 11h41
  3. Réponses: 7
    Dernier message: 11/07/2007, 13h26
  4. choix d'un radioboutton qui change les valeurs d'une comboBox
    Par poussin_44 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 04/07/2007, 09h10
  5. Filtre ou Requête multicritère avec case coché
    Par StelproJoe dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 06/02/2007, 21h16

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