LISTBOX macro en fonction des choix Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
s
sjulien1986
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 25 octobre 2019
Version d'Excel : 2016 FR
Version de Sheets : FR

Message par sjulien1986 » 16 janvier 2020, 10:57

Bonjour,
j'ai crée un fichier avec une listbox,
j'arrive à executer ma macro lorsque que j'execute un seul choix à la fois dans cette listbox,
j'aimerais pouvoir executer ma macro avec plusieurs choix dans la liste.

voici ma macro :

cela foinctionne si je fais le choix Brassage LAN Hors Heberg?s secs ou Brassage SAN Hors Heberg?s secs


Mais je souhaiterais que cela fonctionne pour les deux en meme temps.

Pouvez-vous m'aider ? merci d'avance


voici ma macro :

Private Sub CommandButton3_Click()

'"Brassage LAN Hors Heberg?s secs" ok

Application.ScreenUpdating = False
If ListBox2.Value = "Brassage LAN Hors Heberg?s secs" Then
Sheets("Feuil1").Activate
Range("A2:D11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Check-List Qualif & Dispatch").Select
Range("A25").Select
ActiveSheet.Paste



If ListBox2.Value = "Brassage LAN Hors Heberg?s secs" Then
Sheets("Feuil1").Activate
Range("A132:D139").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Check-List Qualif & Dispatch").Select
Range("A35").Select
ActiveSheet.Paste
'Unload UserForm2

End If

'Brassage SAN Hors Heberg?s secs ok

If ListBox2.Value = "Brassage SAN Hors Heberg?s secs" Then
Sheets("Feuil1").Activate
Range("A12:D19").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Check-List Qualif & Dispatch").Select
Range("A51").Select
ActiveSheet.Paste

End If

If ListBox2.Value = "Brassage SAN Hors Heberg?s secs" Then
Sheets("Feuil1").Activate
Range("A127:D131").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Check-List Qualif & Dispatch").Select
Range("A81").Select
ActiveSheet.Paste
'Unload UserForm2
End If
Avatar du membre
funkyfoenky
Membre fidèle
Membre fidèle
Messages : 274
Appréciations reçues : 4
Inscrit le : 15 avril 2013
Version d'Excel : Office 365

Message par funkyfoenky » 16 janvier 2020, 11:38

Un fichier aiderait à mieux comprendre

Une piste en parallèle, pour voir toutes les valeurs selectionnées de la liste tu peux faire une boucle:
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then xxxxxxxxxx
Next i
s
sjulien1986
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 25 octobre 2019
Version d'Excel : 2016 FR
Version de Sheets : FR

Message par sjulien1986 » 16 janvier 2020, 12:06

Bonjour,
et merci pour cette piste !
voici le fichier en question, je suis débutant en VBA et passe surement à coté de chose évidente !
Classeur1.xlsm
(34.74 Kio) Téléchargé 6 fois
Avatar du membre
funkyfoenky
Membre fidèle
Membre fidèle
Messages : 274
Appréciations reçues : 4
Inscrit le : 15 avril 2013
Version d'Excel : Office 365

Message par funkyfoenky » 16 janvier 2020, 14:04

Du coup tu peux expliquer plus en détail quel est le but de ta macro?
s
sjulien1986
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 25 octobre 2019
Version d'Excel : 2016 FR
Version de Sheets : FR

Message par sjulien1986 » 16 janvier 2020, 14:20

Le but est qu'en fonction des choix de la listebox

la macro fasse un copier coller de tous les choix pris dans la listebox
( à partir de la feuille 1)
ps: je n'ai pas mis mon fichier original car la taille ne passait pas.
Avatar du membre
funkyfoenky
Membre fidèle
Membre fidèle
Messages : 274
Appréciations reçues : 4
Inscrit le : 15 avril 2013
Version d'Excel : Office 365

Message par funkyfoenky » 16 janvier 2020, 15:56

Ah ok donc il y en a 2 mais normalement ils y sont tous?
Et ça copie les données à quel endroit?
s
sjulien1986
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 25 octobre 2019
Version d'Excel : 2016 FR
Version de Sheets : FR

Message par sjulien1986 » 16 janvier 2020, 16:08

Normalement il y a une dizaine de choix ( j en ai mis que deux pour l exemple)
Les données sont dans la feuille 1 et la macro fait un copier coller en fonction du choix dans l onglet check-list
Elle sont collés un peux partout et ensuite j efface les lignes vides pour que ce soit lisible
Donc en résumé si je choisi une et que j exécute la macro du bouton crée cela fonctionne mais je souhaiterais en choisir plusieurs en même temps et que cela fonctionne
s
sjulien1986
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 25 octobre 2019
Version d'Excel : 2016 FR
Version de Sheets : FR

Message par sjulien1986 » 17 janvier 2020, 12:47

Je sais pas si j'ai été assez clair dans mes explications :)
Avatar du membre
funkyfoenky
Membre fidèle
Membre fidèle
Messages : 274
Appréciations reçues : 4
Inscrit le : 15 avril 2013
Version d'Excel : Office 365

Message par funkyfoenky » 17 janvier 2020, 17:24

J'ai rien compris :lole:
s
sjulien1986
Nouveau venu
Nouveau venu
Messages : 9
Inscrit le : 25 octobre 2019
Version d'Excel : 2016 FR
Version de Sheets : FR

Message par sjulien1986 » 17 janvier 2020, 18:35

Ok, je recommence.
en pj mon fichier , je crois que celui que j'avais fourni ne contenait pas la macro …
1 cliquer sur créer le formulaire
2 choisir 1 lignes dans la listbox 1 (gauche)et cliquer sur ADD elle est ensuite mise dans la listbox2 (droite)
3 la selectionner et cliquer sur créer (le copier coller contenu dans la macro se fait correctement
4 cliquer sur effacer
5 relancer un nouveau formulaire
6 cliquer sur multiselection
7 choisir les deux lignes et cliquer sur ADD, elle sont ensuite ajouté dans la listbox2, les selectionner toutes les deux et cliquer sur créer.

!! c'est la que je bloque puisque rien ne se passe ….j'ai essayer d'ajouter la boucle mais je ne maitrise pas du tout :(
Normalement cette fois ci j'espère avoir bien expliqué :)


Classeur2.xlsm
(45.76 Kio) Téléchargé 5 fois
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message