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 :

2 LISTBOX qui varient selon les éléments sélectionnés [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut 2 LISTBOX qui varient selon les éléments sélectionnés
    Bonjour à tous,

    Mon problème :

    je possède 2 listbox

    Ma listbox1 possède un gros nombres d'éléments qui varient en fonction des éléments cochés précédemment,
    lorsque un élément de la listbox1 et aussi un élément de ma colonne "H" feuil3
    cette élément se cache dans la listbox 1 et apparait dans la listbox2.

    Lorsque l'élément est supprimé dans la colonne H, il réapparaît dans la listbox1 et s'éfface dans la listbox2.

    Merci pour votre attention et merci au forum.

    Cordialement

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pas certain d'avoir bien compris ta demande.
    Voici un exemple d'un UserForm ayant deux contrôles ListBox nommés ListBox1 et ListBox2.
    ListBox1 est chargé à l'initialisation du UserForm des étiquettes de colonnes de la liste de données se trouvant sur la feuille nommée [db] et ce à partir de la cellule A1.
    En faisant un double click sur un des éléments de ListBox1, celui ci est supprimé de ListBox1 et s'ajoute dans ListBox2 et inversément
    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
    Option Explicit
    Dim wkb As Workbook, sht As Worksheet, rng As Range
    Const shtName As String = "db"
    ' ======
    Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
     With ListBox1: ListBox2.AddItem .List(.ListIndex, 0): .RemoveItem (.ListIndex): End With
    End Sub
    ' ======
    Private Sub ListBox2_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
     With ListBox2: ListBox1.AddItem .List(.ListIndex, 0): .RemoveItem (.ListIndex): End With
    End Sub
    ' ======
    Private Sub UserForm_Initialize()
     Set wkb = ThisWorkbook: Set sht = wkb.Worksheets(shtName)
     Set rng = sht.Range("A1").CurrentRegion
     Dim c As Byte
     ' Charge la liste des étiquettes dans ListBox1
     With ListBox1
     .ColumnCount = 1
      For c = 1 To rng.Columns.Count: .AddItem sht.Cells(1, c): Next
     End With
    End Sub
    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

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Salut, merci pour ta réponse, je comprends ce que tu as voulu faire et celà m'aide dans ma progression en VBa mais ce n'est pas tout à fait ce dont j'ai besoin.

    Je vais t'expliquer mon programme.

    Mon but est de réaliser une bibliothèque informatique qui référence les outils de métrologie et de pouvoir les emprunter et les rendres.

    Pour celà, chaque opérateur possède un id (un nombre) qu'il rentre dans une première textbox
    il clique sur OK et apparait son "nom et prenom"
    ensuite une listbox lui demande de choisir son outil (=pied à coulisse, tampons, micromètre ....)
    cette listbox est affecté à plusieur listbox qui permettent d'avoir sa désignation (=pied à coulisse : digital, à bec rond ...)
    on clic sur celui que l'on veut, sur une autre listbox apparait ses dimensions (= 0 - 200 , 0 - 500 ...)

    on clic et c'est ici qu'intervient mon problème :
    dans ma listbox1 apparait le code outil (=PAC001, PAC002 ....) de chaque outil disponible. ----> listbox1 = objet disponible
    (excel feuil 2,4,5,6,7,8 --> base de donnée qui référence tout mes outils avec désignation, dimensions , code)

    La feuil3 excel est l'enregistrement de : ID ("B") , Nom Prénom ("C"), Outil ("D"), désignation ("E), dimensions ("F"), date ("G") ,code outil (colonne H)

    si en feuil3 l'enregistrement du code est égal à celui de la listbox1, on le cache en listbox1 et il apparait en listBox2 ----> listbox2 = objet indispo

    une autre macro me permet le rendu de l'outil qui supprime la ligne excel de l'enregistrement choisit, d'ou le code outil listbox1 redevient différent du code outil colonne H car il a été supprimé donc il réapparait listbox1 et n'existe plus dans la listbox2

    J'espère avoir été plus claire, si ce n'est pas le cas je peux t'envoyer mon dossier par mail car il est supérieur à 2 Mo et je n'arrive pas à le télécharger : matthieu.therrat@gmail.com

    longue vie au forum

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans ta question il y a en fait plusieurs donc idéalement tu devrais ouvrir plusieurs discussions traitant chaque fois d'un sujet sinon cela revient à demander de faire le travail à ta place.
    J'espère avoir été plus claire, si ce n'est pas le cas je peux t'envoyer mon dossier par mail car il est supérieur à 2 Mo et je n'arrive pas à le télécharger :
    Il n'est pas question comme préciser plus haut de faire ce travail.
    Ce que tu demandes représente plusieurs heures de travail si tu souhaites que l'application soit pérenne, facilement maintenable et puisse être sans trop de difficultés améliorée.
    La première chose est de faire une analyse de la gestion des données, une ou plusieurs feuilles représentant des tables, établissement d'une feuille avec les paramètres, etc.
    Pour celà, chaque opérateur possède un id (un nombre) qu'il rentre dans une première textbox
    il clique sur OK et apparait son "nom et prenom"
    Cela équivaut à une gestion de table où l'on doit avoir la possibilité de créer, consulter, modifier et supprimer un enregistrement (CRUD est l'acronyme anglais)
    Voir cette contribution USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire.

    Pour le reste, il faudrait avoir une explication plus explicite des tables qui alimenteront les contrôles LisBox.
    • Est-ce la même liste pour tous ?
    • Faut-il ouvrir un deuxième ListBox dépendant du choix fait dans le premier, etc. ?


    Comme expliqué au début de ma réponse, décompose ton problème et pose chaque question sur des discussions distinctes, en commençant éventuellement dans la rubrique Conception si tu ne t'en sors pas dans l'analyse
    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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Encore merci pour ta réponse.

    Je dois vraiment ne pas savoir m'exprimé

    Enfaite la casi totalité du programme est fait, mon seul problème apparait à la fin avec mes 2 listbox.

    j'aimerai traduire cette phrase en expression Vba :
    Si "un élément" rentré colonne H feuille 3 est similaire "un élément" en listbox1 alors cette "élément" disparait en listbox1 et apparait en listbox2.

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    j'aimerai traduire cette phrase en expression Vba :
    Si "un élément" rentré colonne H feuille 3 est similaire "un élément" en listbox1 alors cette "élément" disparait en listbox1 et apparait en listbox2
    Plusieurs questions qui peuvent donner une réponse différente
    • Le ListBox1 est alimenté comment ?
    • L'encodage en Feuil3 (colonne H) est-il alimenté manuellement ou par le UserForm ?
    • Si c'est manuellement, est-ce que le UserForm est modal ou pas ?

    Ton problème me fait penser à une application de prêt de matériel ou autres donc je pencherais pour une feuille reprenant les mouvements de prêt avec une ou plusieurs colonnes qui indiquent le retour de la référence empruntée ainsi la gestion des contrôles ListBox sera plus aisée
    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

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Ton problème me fait penser à une application de prêt de matériel ou autres donc je pencherais pour une feuille reprenant les mouvements de prêt avec une ou plusieurs colonnes qui indiquent le retour de la référence empruntée ainsi la gestion des contrôles ListBox sera plus aisée
    Je pense que oui !
    (Ma feuille 3 reprend tout les mouvements de prêt)
    si je te suis, il faudrait alors qu'au moment de la suppréssion de ma ligne excel correspondant au retour, cette référence s'enregistre ailleurs et permet de gérer mes 2 listbox ?

    Ma listbox1 se rempli à l'aide de listbox (elles-mêmes alimentées par des feuilles excels)

    La colonne H(feuil3) se rempli à l'aide de l'userform

    encore une fois mille merci pour ton attention.

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,r
    si je te suis, il faudrait alors qu'au moment de la suppréssion de ma ligne excel correspondant au retour, cette référence s'enregistre ailleurs et permet de gérer mes 2 listbox ?
    Pourquoi supprimer une ligne plutôt que d'avoir la date du retour et/ou une colonne avec le statut du matériel Prêté, Revenu, etc.
    Je suis partisan de conserver un historique car cela permet de revenir en arrière en cas de pépins et d'éventuellement tirer des statistiques.

    Bonjour,
    Partant du principe que toutes les données se trouvent dans une plage de données d'une seule feuille et qu'une valeur se trouvant dans une colonne sera le choix de placer la ligne où se trouve cette valeur dans le contrôle ListBox1 ou ListBox2, voici un exemple de procédures qui va lire les données se trouvant dans une plage de données se trouvant dans une feuille nommée [db] et qui placera dans le contrôle ListBox2 les données se trouvant dans la ligne où la valeur de la colonne 5 est égal à "F", les autres lignes allant dans le contrôle ListBox1
    Code à placer en tête de module du UserForm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
    Dim rng As Range, rng_Data As Range
    Const shtName As String = "db"
    Procédure événementielle Initialize
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
      InitData
      InitListBox
    End Sub
    Procédure nommée InitData
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub InitData()
     ' Initialise les variables objets de type Range
     With ThisWorkbook.Worksheets(shtName)
      Set rng = .Range("A1").CurrentRegion
     End With
     ' Plage des données
     With rng: Set rng_Data = .Offset(1).Resize(.Rows.Count - 1): End With
    End Sub
    Procédure InitListBox
    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
    Private Sub InitListBox()
     ' Initialisation des contrôles ListBox1 et ListBox2
      Dim r As Long, c As Integer, ColWidth As String
      ColWidth = "0;50;50;50"
      With ListBox1
      .ColumnCount = rng.Columns.Count: .ColumnWidths = ColWidth
      End With
      With ListBox2
      .ColumnCount = rng.Columns.Count: .ColumnWidths = ColWidth
      End With
      With rng_Data
       For r = 2 To .Rows.Count
        If .Cells(r, 5) = "F" Then
          ListBox2.AddItem r
          For c = 1 To .Columns.Count
           ListBox2.List(ListBox2.ListCount - 1, c) = .Cells(r, c)
          Next
         Else
          ListBox1.AddItem r
          For c = 1 To .Columns.Count
           ListBox1.List(ListBox1.ListCount - 1, c) = .Cells(r, c)
          Next
        End If
       Next r
      End With
      With ListBox2
      .ColumnCount = rng.Columns.Count: .ColumnWidths = ColWidth
      End With
    End Sub
    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

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Bonjour,

    Ayant essayé en vain de faire fonctionner ton programme toute la matinée (InitData et InitListBox affiche erreur "9" dans mon programme et je ne comprends pas pourquoi)...

    -------Bien sûr, je précise que j'ai commencé Vba il y a 5 semaines donc je débute--------

    Je me suis aussi rendu compte que ma suppression de ligne était déjà en rapport avec mon rendu d'outil. En effet, quand l'opérateur rentre son ID, mon programme va chercher dans la liste des réservations les outils qui lui sont attribué. Donc si je ne supprime plus, il m'affichera aussi les outils déjà rendu.

    J'ai repris ton idée d'historique sur une autre page car c'est une excellente idée.

    Je pense que le plus facile serait que tu regardes mon programme par toi-même pour voir ou sont mes difficultés, mais je ne te force en rien.

    ton aide m'a quand même permis d'avancer un peu, et je t'en remercie.

    Bonne journée

    Cordialement

  10. #10
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En tête de module, la ligne 3 est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Const shtName As String = "db"
    A faire ou à vérifier
    1. Soit tu remplaces la constante db par le nom de ta feuille, soit tu renommes ta feuille db
    2. Les données de cette feuille commence t'elle bien en cellule A1 avec en ligne 1, les étiquettes de colonnes (Les titres)
    3. Les données ne peuvent en aucun cas contenir de cellules fusionnées
    4. Pas de lignes et/ou de colonnes vides
    5. Et bien entendu, si tu as repris mon exemple, il faut avoir en cinquième colonne de cette liste de données des valeurs F

    Si tu ne t'en sort pas, je publierai pour vendredi au plus tard, mon classeur exemple
    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

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    bonjour,

    je crois que la complexité vient du fait que mes bases de données sont sur 6 feuilles.
    (j'ai 1600 références répartis par famille et sous-famille)

    j'attends ton classeur exemple.

    merci à toi.

  12. #12
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    je crois que la complexité vient du fait que mes bases de données sont sur 6 feuilles.
    C'est une nouvelle information par rapport à la demande initiale il me semble

    Voilà le classeur qui m'a servi d'exemple.

    J'ai prévu un double affichage de la feuille des données et celle de l'accueil où se trouve le bouton ActiveX qui déclenche le formulaire mais malgré mes multiples tests, il est possible que ce double affichage des fenêtres pose problème dans certain cas, le bouton bascule par exemple qui se placerait mal ou deux fois la même feuille affichée.

    Le code d'initialisation des contrôles ListBox a été modifié pour permettre l'affichage des données sélectionnées dans des 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
    Private Sub InitListBox()
     ' Initialisation des contrôles lstMale et lstFemale
     Dim r As Long, c As Integer, ColWidth As String
     ColWidth = "0;0;50;50;20;20;50"
     With Me.lstMale
     .ColumnCount = rng.Columns.Count + 1: .ColumnWidths = ColWidth
     End With
     With Me.lstFemale
     .ColumnCount = rng.Columns.Count + 1: .ColumnWidths = ColWidth
     End With
     With rng_Data
      For r = 1 To .Rows.Count
       ' Splite les données vers lstFemale ou lstMale
       If .Cells(r, ColumnNumber) = ConditionValue Then
          Me.lstFemale.AddItem r  ' N° d'enregistrement (ligne)
          For c = 1 To .Columns.Count
           lstFemale.List(lstFemale.ListCount - 1, c) = .Cells(r, c)
          Next
         Else
          Me.lstMale.AddItem r   ' N° d'enregistrement (ligne)
          For c = 1 To .Columns.Count
           lstMale.List(lstMale.ListCount - 1, c) = .Cells(r, c)
          Next
        End If
       Next r
      End With
      With lstFemale
      .ColumnCount = rng.Columns.Count: .ColumnWidths = ColWidth
      End With
    End Sub
    Fichiers attachés Fichiers attachés
    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

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Bonjour Philippe,

    Sur une autre discution mon problème à été résolu par ce code.
    Encore merci à toi et désolé du dérangement pour ton classeur exemple qui me servira peut être pour la suite.

    Bonne journé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
    19
    20
    Me.ListBox1.Clear
      Me.ListBox2.Clear
     
      Select Case Me.ListBox3.ListIndex
        Case 0
          Set rngA = Range("D5:D14")
        Case 1
          Set rngA = Range("E5:E14")
        Case 2
          Set rngA = Range("F5:F14")
      End Select
     
      For Each rngB In rngA.Cells
        Set rngC = Range("J2:J6").Find(rngB, , , xlWhole)
          If rngC Is Nothing Then
            Me.ListBox1.AddItem rngB
          Else
            Me.ListBox2.AddItem rngB
          End If
      Next rngB

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 21/05/2012, 15h46
  2. Réponses: 1
    Dernier message: 29/07/2010, 16h10
  3. élément qui bouge selon les résolutions dans un mail
    Par petitobi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/10/2009, 23h18
  4. Réponses: 1
    Dernier message: 11/07/2007, 22h44
  5. Réponses: 4
    Dernier message: 09/08/2006, 11h05

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