Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Row Source

16 réponses
Avatar
Jacques
Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille active,
car cet UserForm set pour plusieurs feuille, donc pas le même nom, comment
faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille

10 réponses

1 2
Avatar
michdenis
Bonsoir Jacques,


'-------------------
Private Sub UserForm_Initialize()

Dim Sh As Worksheet
Set Sh = ActiveSheet

cbxN°Lot.RowSource = Sh.Range("E12:E65536").Address(0, 0)

End Sub
'-------------------


Salutations!



"Jacques" a écrit dans le message de news:4181c385$0$3630$
Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille active,
car cet UserForm set pour plusieurs feuille, donc pas le même nom, comment
faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille
Avatar
michdenis
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de news:4181c385$0$3630$
Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille active,
car cet UserForm set pour plusieurs feuille, donc pas le même nom, comment
faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille
Avatar
Jacques
Michel Denis, le groupe

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom, comment
faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille





Avatar
Jacques
Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer les
doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en utilisant
activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom, comment
faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille





Avatar
michdenis
Bonjour Jacques,

Si tu utilises Activesheet, c'est qu'au lancement de ton formulaire, les données affichées dans ton combobox seront
celles contenues dans la plage définie de la feuille active du classeur. Si tu définis cette feuille en "dur", peu
importe la feuille active, ce sera toujours les mêmes données qui seront affichées.


Salutations!


"Jacques" a écrit dans le message de news:4182317c$0$3621$
Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer les
doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en utilisant
activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom, comment
faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille





Avatar
Jacques
Michel Denis, le groupe

Donc voici ce que j'ai trouvé (Sur la toile)
Sub Trie()
Dim DataCombo As New Collection
Set DataCombo = New Collection
Dim Item
Dim Cell As Range
With ActiveSheet
On Error Resume Next
For Each Cell In .Range("E13:E" & .Range("E65536").End(xlUp).Row)
DataCombo.Add Cell.Text, Cell.Text
Next Cell
End With
For Each Item In DataCombo
cbxN°Lot.AddItem Item
Next Item
Set DataCombo = Nothing
End Sub

Mais je n'arrive pas a trier ce ComboBox par ordre

Es-ce possible, Ouille
"michdenis" a écrit dans le message de
news:
Bonjour Jacques,

Si tu utilises Activesheet, c'est qu'au lancement de ton formulaire, les
données affichées dans ton combobox seront

celles contenues dans la plage définie de la feuille active du classeur.
Si tu définis cette feuille en "dur", peu

importe la feuille active, ce sera toujours les mêmes données qui seront
affichées.



Salutations!


"Jacques" a écrit dans le message de
news:4182317c$0$3621$

Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer les
doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en
utilisant

activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom,
comment


faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille










Avatar
michdenis
Bonjour Jacques,

As-tu essayé quelque chose comme ceci :
Adapte le nom de la feuille et le nom des contrôle et choisis l'événement approprié pour cette action

'---------------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range, Tblo As Variant

Set Fichier = ThisWorkbook

With Worksheets("Feuil1")
Set Rg = Range("A1:A" & .Range("A65536").End(xlUp).Row)
Tblo = Rg
End With

UserForm1.ComboBox1.List = BubbleSort(Tblo)
Set Rg = Nothing

End Sub

'---------------------------------------
Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------------------------------


Salutations!



















"Jacques" a écrit dans le message de news:41834f09$0$3603$
Michel Denis, le groupe

Donc voici ce que j'ai trouvé (Sur la toile)
Sub Trie()
Dim DataCombo As New Collection
Set DataCombo = New Collection
Dim Item
Dim Cell As Range
With ActiveSheet
On Error Resume Next
For Each Cell In .Range("E13:E" & .Range("E65536").End(xlUp).Row)
DataCombo.Add Cell.Text, Cell.Text
Next Cell
End With
For Each Item In DataCombo
cbxN°Lot.AddItem Item
Next Item
Set DataCombo = Nothing
End Sub

Mais je n'arrive pas a trier ce ComboBox par ordre

Es-ce possible, Ouille
"michdenis" a écrit dans le message de
news:
Bonjour Jacques,

Si tu utilises Activesheet, c'est qu'au lancement de ton formulaire, les
données affichées dans ton combobox seront

celles contenues dans la plage définie de la feuille active du classeur.
Si tu définis cette feuille en "dur", peu

importe la feuille active, ce sera toujours les mêmes données qui seront
affichées.



Salutations!


"Jacques" a écrit dans le message de
news:4182317c$0$3621$

Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer les
doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en
utilisant

activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom,
comment


faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille










Avatar
Jacques
Michel, le groupe

Merci, un code comme celui-là quand je le ferai tout seul aie.

Comme mon fichier a ces entêtes en ligne 12, une ligne vide et ces données
commencent en lignes 13, donc :

Je pensais faire comme cela,
Dim Rg As Range, Tblo As Variant

Set fichier = ThisWorkbook

With ActiveSheet
Set Rg = Range("E13:E" & .Range("E65536").End(xlUp).Row)
Tblo = Rg
End With

cbxN°Lot.List = BubbleSort(Tblo)
Set Rg = Nothing

-> une incompatibilité de type.

Ensuite comme cela :

Set Rg = Range("E12:E" & .Range("E65536").End(xlUp).Row)

-> J'ai une un vide au début de la ComboBox

et tenté comme suis :

Set Rg = Range("E12:E" & .Range("E65536").End(xlUp).Row - 1)

-> incompatibilité de type.


Je ne vois pas trop le soulution, sauf s'il faut modifier la fonction :

Function BubbleSort(List As Variant)
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function

Merci, Ouille



"michdenis" a écrit dans le message de
news:%
Bonjour Jacques,

As-tu essayé quelque chose comme ceci :
Adapte le nom de la feuille et le nom des contrôle et choisis l'événement
approprié pour cette action


'---------------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range, Tblo As Variant

Set Fichier = ThisWorkbook

With Worksheets("Feuil1")
Set Rg = Range("A1:A" & .Range("A65536").End(xlUp).Row)
Tblo = Rg
End With

UserForm1.ComboBox1.List = BubbleSort(Tblo)
Set Rg = Nothing

End Sub

'---------------------------------------
Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------------------------------


Salutations!



"Jacques" a écrit dans le message de
news:41834f09$0$3603$

Michel Denis, le groupe

Donc voici ce que j'ai trouvé (Sur la toile)
Sub Trie()
Dim DataCombo As New Collection
Set DataCombo = New Collection
Dim Item
Dim Cell As Range
With ActiveSheet
On Error Resume Next
For Each Cell In .Range("E13:E" & .Range("E65536").End(xlUp).Row)
DataCombo.Add Cell.Text, Cell.Text
Next Cell
End With
For Each Item In DataCombo
cbxN°Lot.AddItem Item
Next Item
Set DataCombo = Nothing
End Sub

Mais je n'arrive pas a trier ce ComboBox par ordre

Es-ce possible, Ouille
"michdenis" a écrit dans le message de
news:
Bonjour Jacques,

Si tu utilises Activesheet, c'est qu'au lancement de ton formulaire, les
données affichées dans ton combobox seront

celles contenues dans la plage définie de la feuille active du classeur.
Si tu définis cette feuille en "dur", peu

importe la feuille active, ce sera toujours les mêmes données qui seront
affichées.



Salutations!


"Jacques" a écrit dans le message de
news:4182317c$0$3621$

Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer les
doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en
utilisant

activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom,
comment


faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille















Avatar
michdenis
Bonjour Jacques,

Si tu veux insérer dans ton combobox ta ligne de titre et la ligne vide en début de liste de ton combobox, tu peux
essayer ceci :

'------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range, Tblo As Variant, Tblo1 As Variant

Set Fichier = ThisWorkbook

With Worksheets("Feuil1")
Set Rg = Range("A3:A" & .Range("A65536").End(xlUp).Row)
Tblo = Rg
End With

ReDim Tblo1(1 To UBound(Tblo, 1) + 2, 1 To UBound(Tblo, 2))

Tblo = BubbleSort(Tblo)

Tblo1(1, 1) = Range("A1")
Tblo1(2, 1) = ""

For a = 1 To UBound(Tblo, 1)
For b = 1 To UBound(Tblo, 2)
Tblo1(a + 2, b) = Tblo(a, b)
Next
Next

UserForm1.ComboBox1.List = Tblo1
Set Rg = Nothing

End Sub
'------------------------------
Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'------------------------------


Salutations!




"Jacques" a écrit dans le message de news:41838be7$0$31246$
Michel, le groupe

Merci, un code comme celui-là quand je le ferai tout seul aie.

Comme mon fichier a ces entêtes en ligne 12, une ligne vide et ces données
commencent en lignes 13, donc :

Je pensais faire comme cela,
Dim Rg As Range, Tblo As Variant

Set fichier = ThisWorkbook

With ActiveSheet
Set Rg = Range("E13:E" & .Range("E65536").End(xlUp).Row)
Tblo = Rg
End With

cbxN°Lot.List = BubbleSort(Tblo)
Set Rg = Nothing

-> une incompatibilité de type.

Ensuite comme cela :

Set Rg = Range("E12:E" & .Range("E65536").End(xlUp).Row)

-> J'ai une un vide au début de la ComboBox

et tenté comme suis :

Set Rg = Range("E12:E" & .Range("E65536").End(xlUp).Row - 1)

-> incompatibilité de type.


Je ne vois pas trop le soulution, sauf s'il faut modifier la fonction :

Function BubbleSort(List As Variant)
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function

Merci, Ouille



"michdenis" a écrit dans le message de
news:%
Bonjour Jacques,

As-tu essayé quelque chose comme ceci :
Adapte le nom de la feuille et le nom des contrôle et choisis l'événement
approprié pour cette action


'---------------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range, Tblo As Variant

Set Fichier = ThisWorkbook

With Worksheets("Feuil1")
Set Rg = Range("A1:A" & .Range("A65536").End(xlUp).Row)
Tblo = Rg
End With

UserForm1.ComboBox1.List = BubbleSort(Tblo)
Set Rg = Nothing

End Sub

'---------------------------------------
Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------------------------------


Salutations!



"Jacques" a écrit dans le message de
news:41834f09$0$3603$

Michel Denis, le groupe

Donc voici ce que j'ai trouvé (Sur la toile)
Sub Trie()
Dim DataCombo As New Collection
Set DataCombo = New Collection
Dim Item
Dim Cell As Range
With ActiveSheet
On Error Resume Next
For Each Cell In .Range("E13:E" & .Range("E65536").End(xlUp).Row)
DataCombo.Add Cell.Text, Cell.Text
Next Cell
End With
For Each Item In DataCombo
cbxN°Lot.AddItem Item
Next Item
Set DataCombo = Nothing
End Sub

Mais je n'arrive pas a trier ce ComboBox par ordre

Es-ce possible, Ouille
"michdenis" a écrit dans le message de
news:
Bonjour Jacques,

Si tu utilises Activesheet, c'est qu'au lancement de ton formulaire, les
données affichées dans ton combobox seront

celles contenues dans la plage définie de la feuille active du classeur.
Si tu définis cette feuille en "dur", peu

importe la feuille active, ce sera toujours les mêmes données qui seront
affichées.



Salutations!


"Jacques" a écrit dans le message de
news:4182317c$0$3621$

Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer les
doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en
utilisant

activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom,
comment


faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille















Avatar
Jacques
Michel, le groupe

Merci, mais en faite je ne veux ni la ligne de titre, ni la ligne vide, mes
données commencerons en ligne 13 de la colonne E, et je n'arrive pas a
adapter ton code pour que cela puisse se faire.

Merci et bon week-end, ouille
"michdenis" a écrit dans le message de
news:%
Bonjour Jacques,

Si tu veux insérer dans ton combobox ta ligne de titre et la ligne vide en
début de liste de ton combobox, tu peux

essayer ceci :

'------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range, Tblo As Variant, Tblo1 As Variant

Set Fichier = ThisWorkbook

With Worksheets("Feuil1")
Set Rg = Range("A3:A" & .Range("A65536").End(xlUp).Row)
Tblo = Rg
End With

ReDim Tblo1(1 To UBound(Tblo, 1) + 2, 1 To UBound(Tblo, 2))

Tblo = BubbleSort(Tblo)

Tblo1(1, 1) = Range("A1")
Tblo1(2, 1) = ""

For a = 1 To UBound(Tblo, 1)
For b = 1 To UBound(Tblo, 2)
Tblo1(a + 2, b) = Tblo(a, b)
Next
Next

UserForm1.ComboBox1.List = Tblo1
Set Rg = Nothing

End Sub
'------------------------------
Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'------------------------------


Salutations!




"Jacques" a écrit dans le message de
news:41838be7$0$31246$

Michel, le groupe

Merci, un code comme celui-là quand je le ferai tout seul aie.

Comme mon fichier a ces entêtes en ligne 12, une ligne vide et ces données
commencent en lignes 13, donc :

Je pensais faire comme cela,
Dim Rg As Range, Tblo As Variant

Set fichier = ThisWorkbook

With ActiveSheet
Set Rg = Range("E13:E" & .Range("E65536").End(xlUp).Row)
Tblo = Rg
End With

cbxN°Lot.List = BubbleSort(Tblo)
Set Rg = Nothing

-> une incompatibilité de type.

Ensuite comme cela :

Set Rg = Range("E12:E" & .Range("E65536").End(xlUp).Row)

-> J'ai une un vide au début de la ComboBox

et tenté comme suis :

Set Rg = Range("E12:E" & .Range("E65536").End(xlUp).Row - 1)

-> incompatibilité de type.


Je ne vois pas trop le soulution, sauf s'il faut modifier la fonction :

Function BubbleSort(List As Variant)
Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function

Merci, Ouille



"michdenis" a écrit dans le message de
news:%
Bonjour Jacques,

As-tu essayé quelque chose comme ceci :
Adapte le nom de la feuille et le nom des contrôle et choisis
l'événement


approprié pour cette action

'---------------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range, Tblo As Variant

Set Fichier = ThisWorkbook

With Worksheets("Feuil1")
Set Rg = Range("A1:A" & .Range("A65536").End(xlUp).Row)
Tblo = Rg
End With

UserForm1.ComboBox1.List = BubbleSort(Tblo)
Set Rg = Nothing

End Sub

'---------------------------------------
Function BubbleSort(List As Variant)

Dim First As Integer, Last As Integer
Dim i As Integer, j As Integer
Dim Temp

First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i, 1) > List(j, 1) Then
Temp = List(j, 1)
List(j, 1) = List(i, 1)
List(i, 1) = Temp
End If
Next j
Next i
BubbleSort = List
End Function
'---------------------------------------


Salutations!



"Jacques" a écrit dans le message de
news:41834f09$0$3603$

Michel Denis, le groupe

Donc voici ce que j'ai trouvé (Sur la toile)
Sub Trie()
Dim DataCombo As New Collection
Set DataCombo = New Collection
Dim Item
Dim Cell As Range
With ActiveSheet
On Error Resume Next
For Each Cell In .Range("E13:E" & .Range("E65536").End(xlUp).Row)
DataCombo.Add Cell.Text, Cell.Text
Next Cell
End With
For Each Item In DataCombo
cbxN°Lot.AddItem Item
Next Item
Set DataCombo = Nothing
End Sub

Mais je n'arrive pas a trier ce ComboBox par ordre

Es-ce possible, Ouille
"michdenis" a écrit dans le message de
news:
Bonjour Jacques,

Si tu utilises Activesheet, c'est qu'au lancement de ton formulaire,
les



données affichées dans ton combobox seront
celles contenues dans la plage définie de la feuille active du
classeur.



Si tu définis cette feuille en "dur", peu
importe la feuille active, ce sera toujours les mêmes données qui
seront



affichées.


Salutations!


"Jacques" a écrit dans le message de
news:4182317c$0$3621$

Michel Denis, le groupe

J'avais vu et essayé plusieurs moyen de trier par ordre et supprimer
les



doublons, mais ici je n'y arrive pas, qu'y a t-il de differant en
utilisant

activeSheet, par rapport a une feuille fxe?

Merci, Ouille
"michdenis" a écrit dans le message de
news:
Juste ceci c'est suffisant :

cbxN°Lot.RowSource = ActiveSheetRange("E12:E65536").address(0,0)


Salutations!


"Jacques" a écrit dans le message de
news:4181c385$0$3630$

Salut a toutes et tous

Voici le code pour l'initialisation de mon UserForm :

Private Sub UserForm_Initialize()
OptionButton1 = True
OptionButton1.SetFocus
DateBox.Value = FormatDateTime(Now, vbShortDate)
FournisseurBox.RowSource = "Fournisseurs!B6:B25"
cbxOpérateur.RowSource = "Opérateurs!C6:C25"

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"

End Sub

Le soucie est que je n'arrive a définir la Row source sur la feuille
active,

car cet UserForm set pour plusieurs feuille, donc pas le même nom,
comment


faire pour l'utiliser .

cbxN°Lot.RowSource = "ActiveSheet!E12:E65536"


Merci, ouille




















1 2