J'ai un UserForm avec une listbox qui récupère une liste de nom dans
une feuille me servant a alimenter (En multiselect) dans un autre
UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux
lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car
celle-ci possède avec cette liste de nom un numéro par nom qui est
deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la
validation de faire une vérification dans le TextBox que le ou les
noms sélectionnés ne soit pas déja présent et dans le cas de doublons
que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques
Tu peux mettre cette procédure dans un module standard. '------------------------------------ Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long) Dim Low As Long, High As Long Dim Temp As Variant, List_Separator As Variant Low = First High = Last List_Separator = SortArray((First + Last) / 2) Do Do While (SortArray(Low) < List_Separator) Low = Low + 1 Loop Do While (SortArray(High) > List_Separator) High = High - 1 Loop If (Low <= High) Then Temp = SortArray(Low) SortArray(Low) = SortArray(High) SortArray(High) = Temp Low = Low + 1 High = High - 1 End If Loop While (Low <= High) If (First < High) Then Quick_Sort SortArray, First, High If (Low < Last) Then Quick_Sort SortArray, Low, Last End Sub '------------------------------------
Salutations!
a écrit dans le message de news: Salut le forum,
J'ai un UserForm avec une listbox qui récupère une liste de nom dans une feuille me servant a alimenter (En multiselect) dans un autre UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car celle-ci possède avec cette liste de nom un numéro par nom qui est deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la validation de faire une vérification dans le TextBox que le ou les noms sélectionnés ne soit pas déja présent et dans le cas de doublons que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques
Bonsoir Jacques,
Voici une façon de faire avec Quick_Sort...
Tu dois adapter dans la procédure le nom de la feuille et de la plage de cellules où sont tes données.
Dans ton formulaire :
'------------------------------------
Private Sub UserForm_Initialize()
Dim Tblo As Variant, Rg As Range
With Worksheets("Feuil1")
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Tu peux mettre cette procédure dans un module standard.
'------------------------------------
Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long)
Dim Low As Long, High As Long
Dim Temp As Variant, List_Separator As Variant
Low = First
High = Last
List_Separator = SortArray((First + Last) / 2)
Do
Do While (SortArray(Low) < List_Separator)
Low = Low + 1
Loop
Do While (SortArray(High) > List_Separator)
High = High - 1
Loop
If (Low <= High) Then
Temp = SortArray(Low)
SortArray(Low) = SortArray(High)
SortArray(High) = Temp
Low = Low + 1
High = High - 1
End If
Loop While (Low <= High)
If (First < High) Then Quick_Sort SortArray, First, High
If (Low < Last) Then Quick_Sort SortArray, Low, Last
End Sub
'------------------------------------
Salutations!
<jacques-zeziola@wanadoo.fr> a écrit dans le message de news:5ee3abf8.0311251205.4176736c@posting.google.com...
Salut le forum,
J'ai un UserForm avec une listbox qui récupère une liste de nom dans
une feuille me servant a alimenter (En multiselect) dans un autre
UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux
lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car
celle-ci possède avec cette liste de nom un numéro par nom qui est
deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la
validation de faire une vérification dans le TextBox que le ou les
noms sélectionnés ne soit pas déja présent et dans le cas de doublons
que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques
Tu peux mettre cette procédure dans un module standard. '------------------------------------ Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long) Dim Low As Long, High As Long Dim Temp As Variant, List_Separator As Variant Low = First High = Last List_Separator = SortArray((First + Last) / 2) Do Do While (SortArray(Low) < List_Separator) Low = Low + 1 Loop Do While (SortArray(High) > List_Separator) High = High - 1 Loop If (Low <= High) Then Temp = SortArray(Low) SortArray(Low) = SortArray(High) SortArray(High) = Temp Low = Low + 1 High = High - 1 End If Loop While (Low <= High) If (First < High) Then Quick_Sort SortArray, First, High If (Low < Last) Then Quick_Sort SortArray, Low, Last End Sub '------------------------------------
Salutations!
a écrit dans le message de news: Salut le forum,
J'ai un UserForm avec une listbox qui récupère une liste de nom dans une feuille me servant a alimenter (En multiselect) dans un autre UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car celle-ci possède avec cette liste de nom un numéro par nom qui est deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la validation de faire une vérification dans le TextBox que le ou les noms sélectionnés ne soit pas déja présent et dans le cas de doublons que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques
jacques-zeziola
Denis, le forum,
Comme d'habitude, c'est nickel.
je vais refléchir pour le test de doublons dans mon textbox (Multiligne)au moment de l'envoie.
Je te remercie beaucoup, Jacques
"Denis Michon" wrote in message news:<ytVwb.66447$...
Bonsoir Jacques,
Voici une façon de faire avec Quick_Sort...
Tu dois adapter dans la procédure le nom de la feuille et de la plage de cellules où sont tes données.
Dans ton formulaire : '------------------------------------ Private Sub UserForm_Initialize()
Dim Tblo As Variant, Rg As Range
With Worksheets("Feuil1") Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row) End With
Tu peux mettre cette procédure dans un module standard. '------------------------------------ Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long) Dim Low As Long, High As Long Dim Temp As Variant, List_Separator As Variant Low = First High = Last List_Separator = SortArray((First + Last) / 2) Do Do While (SortArray(Low) < List_Separator) Low = Low + 1 Loop Do While (SortArray(High) > List_Separator) High = High - 1 Loop If (Low <= High) Then Temp = SortArray(Low) SortArray(Low) = SortArray(High) SortArray(High) = Temp Low = Low + 1 High = High - 1 End If Loop While (Low <= High) If (First < High) Then Quick_Sort SortArray, First, High If (Low < Last) Then Quick_Sort SortArray, Low, Last End Sub '------------------------------------
Salutations!
a écrit dans le message de news: Salut le forum,
J'ai un UserForm avec une listbox qui récupère une liste de nom dans une feuille me servant a alimenter (En multiselect) dans un autre UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car celle-ci possède avec cette liste de nom un numéro par nom qui est deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la validation de faire une vérification dans le TextBox que le ou les noms sélectionnés ne soit pas déja présent et dans le cas de doublons que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques
Denis, le forum,
Comme d'habitude, c'est nickel.
je vais refléchir pour le test de doublons dans mon textbox
(Multiligne)au moment de l'envoie.
Je te remercie beaucoup, Jacques
"Denis Michon" <denis.michon@cgocable.ca> wrote in message news:<ytVwb.66447$Ng3.46179@charlie.risq.qc.ca>...
Bonsoir Jacques,
Voici une façon de faire avec Quick_Sort...
Tu dois adapter dans la procédure le nom de la feuille et de la plage de cellules où sont tes données.
Dans ton formulaire :
'------------------------------------
Private Sub UserForm_Initialize()
Dim Tblo As Variant, Rg As Range
With Worksheets("Feuil1")
Set Rg = .Range("A2:A" & .Range("A65536").End(xlUp).Row)
End With
Tu peux mettre cette procédure dans un module standard.
'------------------------------------
Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long)
Dim Low As Long, High As Long
Dim Temp As Variant, List_Separator As Variant
Low = First
High = Last
List_Separator = SortArray((First + Last) / 2)
Do
Do While (SortArray(Low) < List_Separator)
Low = Low + 1
Loop
Do While (SortArray(High) > List_Separator)
High = High - 1
Loop
If (Low <= High) Then
Temp = SortArray(Low)
SortArray(Low) = SortArray(High)
SortArray(High) = Temp
Low = Low + 1
High = High - 1
End If
Loop While (Low <= High)
If (First < High) Then Quick_Sort SortArray, First, High
If (Low < Last) Then Quick_Sort SortArray, Low, Last
End Sub
'------------------------------------
Salutations!
<jacques-zeziola@wanadoo.fr> a écrit dans le message de news:5ee3abf8.0311251205.4176736c@posting.google.com...
Salut le forum,
J'ai un UserForm avec une listbox qui récupère une liste de nom dans
une feuille me servant a alimenter (En multiselect) dans un autre
UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux
lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car
celle-ci possède avec cette liste de nom un numéro par nom qui est
deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la
validation de faire une vérification dans le TextBox que le ou les
noms sélectionnés ne soit pas déja présent et dans le cas de doublons
que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques
Tu peux mettre cette procédure dans un module standard. '------------------------------------ Sub Quick_Sort(ByRef SortArray As Variant, ByVal First As Long, ByVal Last As Long) Dim Low As Long, High As Long Dim Temp As Variant, List_Separator As Variant Low = First High = Last List_Separator = SortArray((First + Last) / 2) Do Do While (SortArray(Low) < List_Separator) Low = Low + 1 Loop Do While (SortArray(High) > List_Separator) High = High - 1 Loop If (Low <= High) Then Temp = SortArray(Low) SortArray(Low) = SortArray(High) SortArray(High) = Temp Low = Low + 1 High = High - 1 End If Loop While (Low <= High) If (First < High) Then Quick_Sort SortArray, First, High If (Low < Last) Then Quick_Sort SortArray, Low, Last End Sub '------------------------------------
Salutations!
a écrit dans le message de news: Salut le forum,
J'ai un UserForm avec une listbox qui récupère une liste de nom dans une feuille me servant a alimenter (En multiselect) dans un autre UserForm un Textbox.
Mes deux questions sont :
1) Comment je pourrais trié cette ListBox par ordre albhabétique aux lancement de l'UserForm sans y modifié l'ordre de ma feuille (Car celle-ci possède avec cette liste de nom un numéro par nom qui est deja trié lors de l'ajout d'une personne sur un aurtre UserForm).
2) Es-t-il possible lors de la sélection dans la ListBox et aprés la validation de faire une vérification dans le TextBox que le ou les noms sélectionnés ne soit pas déja présent et dans le cas de doublons que ce doublons soit ignoré.
Je vous remercie grandement de votre aide, Jacques