ListBox1 et ListBox2 sont configurés a choix multiples
et ca fait :
Code:
[COLOR="Blue"]Sub OrdreDesListbox()
If Feuil1.OptionButton1 = True Then
ListeA = ListBox1
ListeB = ListBox2
Else
ListeA = ListBox2
ListeB = ListBox1
End If
For i = 0 to ListeA.ListCount - 1
If ListeA.selected(i) = True Then
[COLOR="SeaGreen"]'traitement de ListeA.List(i)[/COLOR]
For j=0 to ListeB.ListCount - 1
If ListeB.selected(i) = True Then
[COLOR="SeaGreen"]'traitement de ListeB.List(j)[/COLOR]
End If
Next j
End If
next i
End Sub[/COLOR]
On voit mieux l importance de l'ordre entre les deux ListBox
Merci !
PS : merci et pour moi c'est pas tout de suite la nuit ;-)
Private Sub CommandButton1_Click()
Dim ListeA As String
Dim ListeB As String
Dim i As Byte, j As Byte
If OptionButton1 = True Then
ListeA = ListBox1.Name
ListeB = ListBox2.Name
Else
ListeA = ListBox2.Name
ListeB = ListBox1.Name
End If
For i = 0 To Controls(ListeA).ListCount - 1
If Controls(ListeA).Selected(i) = True Then
'traitement de ListeA.List(i)
For j = 0 To Controls(ListeB).ListCount - 1
If Controls(ListeB).Selected(i) = True Then
'traitement de ListeB.List(j)
End If
Next j
End If
Next i
End Sub
non non je n'avais pas reussi
tu me demandais si tu avais bien compris mon probleme et je repondais que c'etait bien ca en donnant plus de details sur le code
mais la partie d'affectation de ListA et ListB ne marchait pas c'etait juste une maniere de montrer ce que je souhaitais faire
Par contre je viens d'essayer ta méthode Pascal, mais la fonction Controls() n'est pas définie chez moi ...
je dois activer une référence dans le menu Outils de VBA pour qu'elle soit prise en compte ?
A titre indicatif j'ai fait un test avec des listbox et j'ai cela de cocher en références
Visual Basic for applications
Microsoft excel 9.0 Object library
OLE AUtomation
Microsoft Office 9.0 Object Library
Microsoft Forms 2.0 Object Librrary
Le 9.0 peut varier chez toi car il correspond à la version 2000
ils sont dans une feuille de calcul redesigné pour que ca ressemble a un formulaire ...
C'est d'ailleurs pour ca que leurs noms sont Hoja1.Listbox1
Hoja = Feuille en espagnol (et je suis sur un ordi espagnol)
Pourquoi c'est mal de pas faire de UserForm ?
A vrai dire Excel j'ai appris tout seul a coup d'enregistreur de macro et de site internet alors je me suis pas trop interessé aux UserForm vu que je savais pas trop comment s'en servir, pourquoi,etc etc...
En restant sur la feuille de calcul, c'est pas possible d'adapter ce code ?
Ah bah en effet ca marche ... !! Merci beaucoup José !!
C'est bizarre car je me rappelle avoir essayé hier avec les "Set"
aah
je crois voir pourquoi j'avais pas continuer avec les sets
En fait je vous ne l'avais pas dit, mais je cachais une 3eme ListBox ...
Mon code c'est ca :
Code:
Dim ListA, ListB, ListC As ListBox
If Hoja1.OptionButton5.Value = True Then
Set ListA = Hoja1.ListBox3
Set ListB = Hoja1.ListBox2
Else
Set ListA = Hoja1.ListBox2
Set ListB = Hoja1.ListBox3
End If
Set ListC = Hoja1.ListBox1
Et bizarrement, Set ListA et Set ListB passe sans probleme, mais il me met une erreur sur Set ListC en me disant "incompatibilité de type"
****
Apres des tests :
si je fais :
Dim ListA,ListB As ListBox
Dim ListC As ListBox
Il met l'erreur sur Set ListB
et si je fais
Dim ListA As ListBox
Dim ListB As ListBox
Dim ListC As ListBox