Bonsoir le forum,
espérons que ce PB trouvera une réponse, car je n'ai pas de chance aujourd'hui avec mes questions.
En tout cas merci deja a tous de prendre quelques minutes pour me lire.
voila mon PB :
je récupére les données dans un userform venant d'une feuille d'aun autre classeur :
Workbooks.Open ('c:\\source.xls')
Set classeurDestination = Workbooks('source.xls')
Dim Plg As String, Nbligne As Integer
Nbligne = Sheets('clients').Range('B65536').End(xlUp).Row
Plg = Sheets(1).Range('B3:EY' & Nbligne).Address
With ListBox1
.RowSource = 'clients!' & Plg
End With
mais je souhaiterai modifier les syntaxes pour y ajouter un tri de A à Z.
Le code suivant qui fonctionne ailleurs ne fonctionne pas ici, et je le trouve compliqué pour la tache a réaliser:
------
Dim AllCells As Range
Dim NoDupes As New Collection
Dim i As Integer
Dim Swap1, Swap2, Item
Set AllCells = Range('B3:B1003')
On Error Resume Next
For Each cell In AllCells
NoDupes.Add cell.Value, CStr(cell.Value)
Next cell
On Error GoTo 0
With UserForm
UserForm.TOT.Text = AllCells.Count
UserForm.MEM.Text = NoDupes.Count
End With
For i = 1 To NoDupes.Count
For j = i + 1 To NoDupes.Count - 1
If NoDupes(i) > NoDupes(j) Then
Swap1 = NoDupes(i)
Swap2 = NoDupes(j)
NoDupes.Add Swap1, before:=j
NoDupes.Add Swap2, before:=i
NoDupes.Remove i + 1
NoDupes.Remove j + 1
End If
Next j
Next i
For Each Item In NoDupes
UserForm.ListBox1.AddItem Item
Next Item
-----
Merci milles fois pour votre aide, j'y suis depuis ce matin.
espérons que ce PB trouvera une réponse, car je n'ai pas de chance aujourd'hui avec mes questions.
En tout cas merci deja a tous de prendre quelques minutes pour me lire.
voila mon PB :
je récupére les données dans un userform venant d'une feuille d'aun autre classeur :
Workbooks.Open ('c:\\source.xls')
Set classeurDestination = Workbooks('source.xls')
Dim Plg As String, Nbligne As Integer
Nbligne = Sheets('clients').Range('B65536').End(xlUp).Row
Plg = Sheets(1).Range('B3:EY' & Nbligne).Address
With ListBox1
.RowSource = 'clients!' & Plg
End With
mais je souhaiterai modifier les syntaxes pour y ajouter un tri de A à Z.
Le code suivant qui fonctionne ailleurs ne fonctionne pas ici, et je le trouve compliqué pour la tache a réaliser:
------
Dim AllCells As Range
Dim NoDupes As New Collection
Dim i As Integer
Dim Swap1, Swap2, Item
Set AllCells = Range('B3:B1003')
On Error Resume Next
For Each cell In AllCells
NoDupes.Add cell.Value, CStr(cell.Value)
Next cell
On Error GoTo 0
With UserForm
UserForm.TOT.Text = AllCells.Count
UserForm.MEM.Text = NoDupes.Count
End With
For i = 1 To NoDupes.Count
For j = i + 1 To NoDupes.Count - 1
If NoDupes(i) > NoDupes(j) Then
Swap1 = NoDupes(i)
Swap2 = NoDupes(j)
NoDupes.Add Swap1, before:=j
NoDupes.Add Swap2, before:=i
NoDupes.Remove i + 1
NoDupes.Remove j + 1
End If
Next j
Next i
For Each Item In NoDupes
UserForm.ListBox1.AddItem Item
Next Item
-----
Merci milles fois pour votre aide, j'y suis depuis ce matin.