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 :

Problème source Listbox avec condition [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Par défaut Problème source Listbox avec condition
    Bonjour le Forum. J'ai besoin d'aide pour mener à bien mon projet.

    Déroulement
    Tout d'abord je charge mon userform, celui-ci est composé d'un bouton valider, d'un bouton ajouter (Additem de List1 a List2) et de deux listbox.

    Le principe de celui ci est d'envoyer des mail via outlook.
    Je vais chercher les adresses mail des personnes dans la listbox1 et celle ci vont se mettre dans la list2.
    Mon problème est que ma Base est composée de personne ayant un mail et d'autre non.
    Je veux donc ne charger dans la list1 que les noms et prénom Colonnes A & B ainsi que l'adresse mail Colonne L des personnes ayant un mail.

    Ce que je ne sait pas gérer est le multi colonne.



    Espérent avoir de l'aide.
    Merci

  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 : 51
    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

    Une solution par code

    on considere que le mail se trouve dans la colonne C
    Et commence la recherche ligne 2
    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
     
    Dim i As Long
     
    i = 2
     
    With Sheets("Feuil1")
     
        Do While .Range("A" & i).Value <> ""
            If .Range("C" & i).Value <> "" Then
                ListBox1.AddItem .Range("A" & i).Value & " " & .Range("B" & i).Value
            End If
            i = i + 1
        Loop
     
    End With

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Par défaut
    Merci pour ta réponse, ceci me permet de filtrer en Listbox1, par contre étant donné que je transfert de la Listbox1 à la Listbox2 l'adresse mail qui se trouve en colonne L, j' obtient une erreur Argument non valide:

    J'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    For i = 0 To Me.ListBox1.ListCount - 1
        If Me.ListBox1.Selected(i) = True Then
          p = Me.ListBox2.ListCount
          Me.ListBox2.AddItem
          Me.ListBox2.List(p, 0) = Me.ListBox1.List(i, 11)
     
        End If
      Next i
      For i = Me.ListBox1.ListCount - 1 To 0 Step -1
        If Me.ListBox1.Selected(i) = True Then Me.ListBox1.RemoveItem i
      Next i

    Et avec ton code il n'y a pas la valeur mail (Colonne L) dans la deuxième Colonne de la Listbox1.

    Peut on y remedier.

    D'avance Merci

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Par défaut
    Re bonjour, j'ai trouvé une solution à mon problème,


    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
    Dim i As Long
    Sheets("Feuil1").Activate
    Me.ListBox1.MultiSelect = fmMultiSelectMulti
    i = 2
    ListBox1.ColumnCount = 2
    With Sheets("")
        Do While .Range("A" & i).Value <> ""
            If .Range("L" & i).Value <> "" Then
                ListBox1.AddItem .Range("A" & i).Value & " " & .Range("B" & i).Value
          'J'AI AJOUTE:
                ListBox1.List(ListBox1.ListCount - 1, 1) = .Range("L" & i)
     
            End If
            i = i + 1
        Loop
     
    End With
    et dans mon code commandbutton1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ListBox2.List(p, 0) = Me.ListBox1.List(i, 1)
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ListBox2.List(p, 0) = Me.ListBox1.List(i, 11)

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

Discussions similaires

  1. [XL-2013] Problème formulaire VBA avec condition de liste et d'ajout
    Par Pierre8585 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2015, 08h03
  2. Problème : Filtrer Listbox avec textbox
    Par clickandgo dans le forum VBA Access
    Réponses: 3
    Dernier message: 11/05/2013, 11h29
  3. Problème LEFT JOIN avec conditions ?
    Par Zane dans le forum Requêtes
    Réponses: 8
    Dernier message: 05/03/2010, 16h29
  4. [MySQL] Problème suppression valeur avec condition
    Par stefsas dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/02/2010, 03h40
  5. Problème ouverture Etat avec condition
    Par Titiii25 dans le forum IHM
    Réponses: 5
    Dernier message: 05/01/2010, 11h07

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