Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion Bernard91
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bernard91

Guest
Bonjour le Forum,
J'ai trouvé une démo de notre très précieux Thierry et j'essaie d'en faire usage mais je suis bloqué sur un problème de remplissage d'une listbox sans doublon. Je sais il y a beuacoup de fils traitant, et des listboxs, et des doublons mais je sèche. Alors si vous voulez bien y jeter un oeil cela me dépannerait bien.
Merci
 
Merci à tous,
Je n'avais pas vu ce fil, désolé. Je trouve que c'est une attitude responsable, même si cela peut nous ennuyer un peu.
Mais si quelqu'un a saisi mon problème je me permettrai de vous copier le bout de code posant problème et vous laisse un E-Mail pour un éventuel envoi de fichier essry@hotmail.fr

Sub ListBoxUpdator(C As Integer)
Dim ColGeneral As Collection
Dim Container As Variant
Dim Item As Variant
Dim TabGeneral() As Variant
Dim i As Long, x As Long, y As Long
Dim Cc As Byte
Dim TotMontHT As Double, TotMontTVA As Double, TotMontTTC As Double
Dim CptItems As Integer


If ComeFromLbxJoyStick = True Then JoyItem = USF1.LbxJoyStick

Set ColGeneral = New Collection

Select Case USF1.OptionButtonDetail

Case True
For i = 0 To UBound(TabPlageSpecial, 1)
If TabPlageSpecial(i, C - 1) = JoyItem Then
On Error Resume Next
ColGeneral.Add TabPlageSpecial(i, 0) & Chr(35) & TabPlageSpecial(i, 1) & Chr(35) & TabPlageSpecial(i, 2) & Chr(35) & TabPlageSpecial(i, 3) & Chr(35) & _
TabPlageSpecial(i, 4) & Chr(35) & TabPlageSpecial(i, 5) & Chr(35) & TabPlageSpecial(i, 6) & Chr(35) & TabPlageSpecial(i, 7) & Chr(35) & _
TabPlageSpecial(i, 8) & Chr(35) & TabPlageSpecial(i, 9) & Chr(35) & TabPlageSpecial(i, 10) & Chr(35) & TabPlageSpecial(i, 11) & Chr(35) & TabPlageSpecial(i, 12) & Chr(35), _
TabPlageSpecial(i, 0) & Chr(35) & TabPlageSpecial(i, 1) & Chr(35) & TabPlageSpecial(i, 2) & Chr(35) & TabPlageSpecial(i, 3) & Chr(35) & _
TabPlageSpecial(i, 4) & Chr(35) & TabPlageSpecial(i, 5) & Chr(35) & TabPlageSpecial(i, 6) & Chr(35) & TabPlageSpecial(i, 7) & Chr(35) & _
TabPlageSpecial(i, 8) & Chr(35) & TabPlageSpecial(i, 9) & Chr(35) & TabPlageSpecial(i, 10) & Chr(35) & TabPlageSpecial(i, 11) & Chr(35) & TabPlageSpecial(i, 12) & Chr(35)


On Error GoTo 0
End If
Next

'++++++++++++++++++++++++++++++++++++++++++++
'C'EST ICI QU J'ESSAIE DE TRAITER LES DOUBLONS
'++++++++++++++++++++++++++++++++++++++++++++
For Each Item In ColGeneral
If x > 0 Then
If TabGeneral(0, x - 1) = TabPlageSpecial(x, 0) Then
x = x - 1
End If
End If
'x = x + 1
ReDim Preserve TabGeneral(13, x)
Container = Split(Item, Chr(35))

For Cc = 0 To 12
TabGeneral(Cc, x) = CStr(Container(Cc))
Next Cc
x = x + 1
Next
With USF1
.LblEnreg = 'Pas de sélection'
.TxbNbEnreg = ''
End With

Case False

For i = 0 To UBound(TabPlageSpecial, 1)
If TabPlageSpecial(i, C - 1) = JoyItem Then
For y = 0 To UBound(TabPlageSpecial, 1)
If JoyItem = TabPlageSpecial(y, C - 1) Then

CptItems = CptItems + 1
End If
Next y
ReDim Preserve TabGeneral(13, x)
TabGeneral(0, x) = '*'
TabGeneral(1, x) = '*'

TabGeneral(6, x) = '*'
TabGeneral(7, x) = '*'

TabGeneral(C - 1, x) = JoyItem
x = x + 1
With USF1

End With

JoyStickCumulItem = JoyItem
JoyStickColumn = C - 1
Exit For

End If
Next


End Select
'+++++++++++++++++++++++++++++++++++++++++++++++
'C'EST ICI QUE JE VEUX REMPLIR LA LISTBOX SANS DOUBLON
'++++++++++++++++++++++++++++++++++++++++++++
With USF1.ListBox1
.ColumnCount = 13
.Column() = TabGeneral
.ListIndex = 0
End With

For i = 0 To 12
With USF1.Controls('Head' & Format(i, '00'))
.SpecialEffect = 6
.BackColor = &HC0C0C0
End With
Next i
With USF1
.Controls('Head' & Format(C - 1, '00')).BackColor = &HFFFF&
End With
End Sub
 
bonjour Bernard91

apres lecture rapide

tu peux avoir ta liste sans doublons dans colgeneral de la façon suivante:

texte=TabPlageSpecial(i, 0).......

ColGeneral.Add texte,cstr(texte)

ici cstr(texte) constitue la clé (Key) qui evite de prendre les doublons (c'est egalement la raison pour laquelle on encadre le .Add des on error )
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
  • Question Question
Microsoft 365 ListBox TextBox
Réponses
5
Affichages
2 K
F
Réponses
12
Affichages
1 K
Fariri
F
K
Réponses
7
Affichages
970
kyliann
K
P
  • Question Question
Réponses
5
Affichages
2 K
PierreJeanPierre
P
J
  • Question Question
Réponses
8
Affichages
6 K
jadsdrago
J
Réponses
3
Affichages
2 K
marcm1049
M
R
Réponses
0
Affichages
946
R
J
Réponses
7
Affichages
2 K
@+Thierry
@
A
Réponses
1
Affichages
911
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…