Exécuter multi-sélection d'un ListBox1

Bonjour a toutes et tous, Forum bonjour

Excel 2007 VBA



Je souhaiterai svp a la suite de multi sélection dans un listbox1 éxécuter une ou plusieurs macros

je vous joint un petit fichier avec mes explications a l'intérieur bien plus simple qu'un long discours

avec tous mes remerciements pour votre aide

Cordialement raymond

Lien du fichier http://cjoint.com/?3AtqNXcFFzl

http://www.cjoint.com/?3AtqNXcFFzl

29 réponses

Résumé de la discussion

Exécuter des macros après une sélection multiple dans un ListBox sous Excel 2007 (VBA), dans un contexte Windows 7 et IE9 et interactions utilisateur complexes. Plusieurs intervenants préconisent un bouton de validation et l'itération des éléments sélectionnés pour lancer des macros, en précisant que l'ordre d'exécution peut être crucial dans certains cas. D'autres proposent des approches sans tests de sélection/désélection, par exemple en reconstruisant la liste à chaque clic ou en utilisant des boutons dédiés pour réinitialiser et valider. Plusieurs réponses détaillent un mapping entre chaque élément et une macro (Cas 1 à Cas 8), et évoquent des considérations de gestion d'erreurs et d'images associées, des liens vers des ressources ont été partagés.

Bobot (l’IA à votre service)
  1. Bonjour,

    Le lancement de ou des macro doit se faire des la selection ou avec un bouton validation liste. L'ordre d'execution des macros est vraiment capital, parce cela va compliquer pas mal le code, du fait qu'il faudra gerer aussi selection/deselection en cours de selection d'un item selectionne
    1. Bonjour f894009

      Merci pour ta réponse

      Je pensais d'abord faire ma selection soit une ou plusieurs, afficher dans le Label1 puis une fois la selection terminée "Valider" en cliquant sur le Label1

      et les macros devrai s'éxécuter les unes après les autres ou bien ensemble

      alors ensemble ça je ne sais pas jamais essayer

      Merci pour ton aide

      bon début de semaine a toi

      Ray
      1. Re,

        Merci pour le fichier et pour le code

        Pas trop compris ce que tu me dit ci-dessous
        une approche de la chose sans les tests select/deselect

        sinon dans l'immédiat ca fonctionne bien

        juste un petit truc

        j'ai simuler la date du premier février 2014 j'ai lancer le programme
        le fond du ListBox1 est bien passer en Vert ça c'est Ok

        Mais dès ma première selection (premier clic) le fond repasse de suite en Rouge

        j'aurai préferer svp que le ListBox1 reste en Vert jusqu'a ce que je clic sur "Validation" et qu'a ce moment, le fond du ListBox repasse en Rouge

        Merci beaucoup pour ton aide

        Cdlt Raymond
        1. Re,

          une approche de la chose sans les tests select/deselect Oui, si vous changez de selection sans faire de RAZ, l'affichage et les macros a lancer ne seront plus vrai
          1. Re,

            Bien recu la réponse merci bien.

            Tu peux svp faire effectuer les tests dont tu me parle car effectivement cela risque d'etre bien embetant.

            Quand tu a le temps rien ne presse.

            je n'avais pas penser a ça, bien vu.

            Merci a plus tard

            Ray
            1. Bonsoir f894009

              une question svp:

              Serez t'il possible de faire fonctionner le programme sans le label1
              juste uniquement a partir de la ListBox1 et un bouton valider

              c'est a dire directement:
              Ex: je fais une ou plusieurs selections
              puis "Valider" et hop éxécution des macros selectionnées

              Merci pour ton aide et bonne soirée a toi

              Cdlt Ray
              1. Re,

                C'est ce que je voulais vous propose, mais vous n'avez pas repondu a la question: l'ordre des macros est-il imperatif ????
                1. Bonjour f894009,

                  Merci bien pour la réponse,

                  Je suis désolé a propos de ta proposition, j'étais rester fixé sur mon idée, et a l'utilisation hier je me suis dit que je pourrai dans un gain de place me dispenser du Label et au moins d'un bouton

                  Mais si la une possibilité de faire fonctionner le programme sans le Label1
                  juste uniquement a partir de la ListBox1 et mème voir sans bouton "Valider"
                  je suis Ok pour ça.

                  Pour les macros OUI dans l'ordre croissant Ex:

                  Si je coche 1 - 3 - 5 - 6 l'ordre d'éxécution est 1 - 3 - 5 - 6

                  Si on fait du coup par coup Ex

                  je coche (3) on éxécute la macro, je coche (1) on éxécute la macro etc etc

                  Mais si je me trompe de N° la macro va s'éxecuter

                  Mais je ne pense pas que l'on puisse faire marche arrrière en cas d'erreur ????

                  Merci pour ton aide et encore désolé pour l'oubli de la réponse

                  Je te souhaite une agréable journée

                  Cdlt Raymond
                  1. Bonsoir f894009,

                    Ok t'inquiète pas, suis pas pressé, prends ton temps

                    Merci tout de mème c'est gentil, bonne soirée a toi

                    Cordialement Raymond
                    1. Bonjour f894009

                      Je viens aux nouvelles pour savoir si tu a pu trouver quelque chose pour mon petit programme

                      J'ai penser cette semaine que si ce n'ai pas possible avec un ListBox peut etre une possiblité plus souple avec un Listview

                      je dit ça car j'ai fait de multiples essais et je n'arrive pas a progresser tout seul
                      malgré beaucoup de recherche

                      Sinon tu laisse tomber je ne t'en voudrai pas je cherche quand mème

                      Bon W-end a toi et merci

                      Cordialement Ray
                      1. Bonjour,

                        Pas eu de temps pour chercher, je regarde cela cette apres-midi. Par curiosite, pourquoi l'ordre des macros est-il si important ??????
                        1. Salut
                          J'ai oublier de te dire que j'ai remanier quelque peut mon programme de compta
                          et comme tu m'avais dit cela compliquerai le code alors du coup plus d'ordre spécifique

                          Dans mes dernières recherches la Listview revient souvent car serai plus facile a utiliser avec plus de possiblilté

                          donc si cela t'arrange je suis ok pour une listview également

                          Merci pour ton aide

                          Cdlt Ray
                          1. Re

                            Merci pour le fichier, ça fonctionne donc on peux optimiser ton code afin qu'il ne me reste plus que la listbox et un bouton de validation

                            le reste ne sert plus car c'etait pour les essais

                            Cdlt Ray
                            1. Re f894009,

                              Merci tout cela fonctionne, j'ai integré a mon programme de compta et
                              les macros s'éxecutent bien

                              Pour ça je te remercie beaucoup

                              PS: merci également pour le fond d'écran ihihihih

                              Une question svp et seulement si ça te tente et que tu a du temps, j'aurai bien voulu refaire le mème code mais avec une Listview cette fois.

                              Avec la Listbox on ne peux pas changer la couleur des (Items) des lignes facilement, soit c'est toute la liste ou rien.

                              Mon but avec une listview

                              (1) Une seule colonne, Sans entète, Couleur de fond Fixe, Les checkboxs a cocher bien sur, Ascenseur a droite pour la liste.

                              (2) les lignes (Items) sélectionnées passent en Vert, les lignes (Items) qui ne sont pas sélectionnées reste en Rouge.

                              En tout cas merci bien pour le code et pour ton aide.

                              Cdlt Raymond
                              • 1
                              • 2