waspy59
Messages postés189Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention15 mai 2013
-
18 janv. 2007 à 01:17
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
19 janv. 2007 à 00:35
Bonjour,
désolé si j'ai posté dans la mauvaise section mais je n'ai pas trouvé la section VBA....
Voici mon probleme, j'ai crée une form sous excel sur laquel on a deux checkbox correspondant soit au type "TSC" soit au type "MCC"
quand je clique sur l'un des checkbox (par exemple "MCC") j'aimerai lister dans une listbox les réferences contenant "MMC", et ceux ci a partir de l'onglet "References!Produits" qui contient des refrences variables.
Par exemple "Réferences!Produits" contient les variables suivantes;
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 janv. 2007 à 01:48
Salut,
il faut trier tes données à la lecture de celles-ci avant importation dans ta ListBox.
Bref, il faut parcourir ta plage de données à l'aide d'une boucle For i = ... To ... Next (ça c'est pour incrémenter la valeur de la ligne grâce à i pour lire les données, dans Cells(i, N° colonne).Value.
Ensuite, dans chaque passage de boucle, avec InStr(1, Cells(i, N° colonne).Value, "MMC"), tu pourras déterminer s'il faut faire un AddItem ou non dans ta ListBox
(même manoeuvre avec TSC)
@++
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
waspy59
Messages postés189Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention15 mai 2013 18 janv. 2007 à 12:32
lut mortalino
c'est se que je souhaite faire (instr et additem) mais mon souci c'est la mise en oeuvre du code avec une boucle for sur une colonne excel de longue variable.
si tu peux me donner un tit exemple, ce serait cool
waspy59
Messages postés189Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention15 mai 2013 18 janv. 2007 à 18:04
re,
j'ai fais quelque chose de recemblant ca fonctionne pas....
With Sheets("References")
i = 1
If CheckBox1.Value = True Then
a = "MCC"
Do
i = i + 1
b = Cells(i, 1).Value
If InStr(b, a) = 0 Then
ListBox1.AddItem b
End If
Loop Until Cells(i, 1).Value = ""
End If
If CheckBox2.Value = True Then
a = "TSC"
Do
i = i + 1
b = Cells(i, 1).Value
If InStr(b, a) = 0 Then
ListBox1.AddItem b
End If
Loop Until Cells(i, 1).Value = ""
End If
End With
D'ou viens le probleme?
Vous n’avez pas trouvé la réponse que vous recherchez ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 janv. 2007 à 18:27
Essaie ton code comme ceci :
With Sheets("References") '*** sert à rien...
i = 1
If CheckBox1.Value = True Then
a = "MCC"
Do
i = i + 1
b = Cells(i, 1).Value
If InStr(1, b, a) > 0 Then ListBox1.AddItem b ' MODIF
ici
Loop Until Cells(i, 1).Value = ""
End If
If CheckBox2.Value = True Then
a = "TSC"
Do
i = i + 1
b = Cells(i, 1).Value
If InStr(1, b, a) = 0 Then ListBox1.AddItem b ' MODIF
ici
Loop Until Cells(i, 1).Value = ""
End If
End With '*** sert à rien...
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 18 janv. 2007 à 18:29
Attention, j'ai oublié de coriger dans la seconde partie :
supprime la ligne If InStr(1, b, a) = 0 Then ListBox1.AddItem b ' MODIF ici
et remplace par If InStr(1, b, a) > 0 Then ListBox1.AddItem b ' MODIF ici
@++
<hr size ="2" width="100%" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
waspy59
Messages postés189Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention15 mai 2013 18 janv. 2007 à 23:31
merci ca marche!!!
encore une tite question, je veux exporter vers une listbox a deux colonnes, en metant dans la deuxieme colonne du listbox la colonne adjacente de excel.... j'ai été clair?
de plus il me semble que le listview permet l'edition des données, est il donc possible de faire la meme chose avec un listview?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 19 janv. 2007 à 00:35
Pour le ListView, oui, c'est certainement possible, mais je ne l'utilise pas donc je n'ai pas de code à te fournir à ce sujet.
Sinon, concernant le ListBox à deux colonnes, voici un exemple de code, pour ceci, ouvre un nouveau projet, Insère des données de A1 à B5, avec en A1 et B1, un titre de colonne, va dans l'éditeur vba, insère un UserForm, un Listbox, colle ce code, et fais F5 :
Private Sub UserForm_Initialize()
Dim LastLine As Integer
LastLine = Range("A65536").End(xlUp).Row
With ListBox1
.Width = 150
.Height = 90
.Top = 6
.Left = 6
.ColumnHeads = True
.ColumnCount = 2
.ColumnWidths = 75
.TextAlign = fmTextAlignCenter
.RowSource = "Feuil1!A2:B" & LastLine
End With
End Sub