Bonjour Alfred WALLACE.
Peut-être comme ceci:
Function Ma_fonction(coll) As Variant
ReDim t(0)
For II = 1 To coll.Count
t(UBound(t)) = coll(II)
ReDim Preserve t(UBound(t) + 1)
Next
If UBound(t) > 0 Then
ReDim Preserve t(UBound(t) - 1)
End If
Ma_fonction = t
End Function
docm
"Alfred WALLACE" wrote in message
news:
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considéré
Sansdoublons.Remove JJ + 1 'supprime l'item considéré
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonjour Alfred WALLACE.
Peut-être comme ceci:
Function Ma_fonction(coll) As Variant
ReDim t(0)
For II = 1 To coll.Count
t(UBound(t)) = coll(II)
ReDim Preserve t(UBound(t) + 1)
Next
If UBound(t) > 0 Then
ReDim Preserve t(UBound(t) - 1)
End If
Ma_fonction = t
End Function
docm
"Alfred WALLACE" <jose6a@gmail.com> wrote in message
news:1153409559.819459.261280@s13g2000cwa.googlegroups.com...
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considéré
Sansdoublons.Remove JJ + 1 'supprime l'item considéré
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonjour Alfred WALLACE.
Peut-être comme ceci:
Function Ma_fonction(coll) As Variant
ReDim t(0)
For II = 1 To coll.Count
t(UBound(t)) = coll(II)
ReDim Preserve t(UBound(t) + 1)
Next
If UBound(t) > 0 Then
ReDim Preserve t(UBound(t) - 1)
End If
Ma_fonction = t
End Function
docm
"Alfred WALLACE" wrote in message
news:
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considéré
Sansdoublons.Remove JJ + 1 'supprime l'item considéré
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonjour docm, je suis désolé car je ne comprend pas ce que tu as
écris.
Je cherche à faire en sorte que la 'collection' déclarée comme ç à
:
Dim Tabentree, Sansdoublons As New Collection
puisse être accessible partout dans mon projet.
J'ai un module de variables mais si j'essaye d'écrire dedans :
Public Dim Tabentree, Sansdoublons As New Collection
ben çà ne marche pas.
je ne sais (comprend) pas ce que tu as essayé de faire
Merci encore.
José
docm wrote:Bonjour Alfred WALLACE.
Peut-être comme ceci:
Function Ma_fonction(coll) As Variant
ReDim t(0)
For II = 1 To coll.Count
t(UBound(t)) = coll(II)
ReDim Preserve t(UBound(t) + 1)
Next
If UBound(t) > 0 Then
ReDim Preserve t(UBound(t) - 1)
End If
Ma_fonction = t
End Function
docm
"Alfred WALLACE" wrote in message
news:
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considér é
Sansdoublons.Remove JJ + 1 'supprime l'item considér é
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonjour docm, je suis désolé car je ne comprend pas ce que tu as
écris.
Je cherche à faire en sorte que la 'collection' déclarée comme ç à
:
Dim Tabentree, Sansdoublons As New Collection
puisse être accessible partout dans mon projet.
J'ai un module de variables mais si j'essaye d'écrire dedans :
Public Dim Tabentree, Sansdoublons As New Collection
ben çà ne marche pas.
je ne sais (comprend) pas ce que tu as essayé de faire
Merci encore.
José
docm wrote:
Bonjour Alfred WALLACE.
Peut-être comme ceci:
Function Ma_fonction(coll) As Variant
ReDim t(0)
For II = 1 To coll.Count
t(UBound(t)) = coll(II)
ReDim Preserve t(UBound(t) + 1)
Next
If UBound(t) > 0 Then
ReDim Preserve t(UBound(t) - 1)
End If
Ma_fonction = t
End Function
docm
"Alfred WALLACE" <jose6a@gmail.com> wrote in message
news:1153409559.819459.261280@s13g2000cwa.googlegroups.com...
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considér é
Sansdoublons.Remove JJ + 1 'supprime l'item considér é
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonjour docm, je suis désolé car je ne comprend pas ce que tu as
écris.
Je cherche à faire en sorte que la 'collection' déclarée comme ç à
:
Dim Tabentree, Sansdoublons As New Collection
puisse être accessible partout dans mon projet.
J'ai un module de variables mais si j'essaye d'écrire dedans :
Public Dim Tabentree, Sansdoublons As New Collection
ben çà ne marche pas.
je ne sais (comprend) pas ce que tu as essayé de faire
Merci encore.
José
docm wrote:Bonjour Alfred WALLACE.
Peut-être comme ceci:
Function Ma_fonction(coll) As Variant
ReDim t(0)
For II = 1 To coll.Count
t(UBound(t)) = coll(II)
ReDim Preserve t(UBound(t) + 1)
Next
If UBound(t) > 0 Then
ReDim Preserve t(UBound(t) - 1)
End If
Ma_fonction = t
End Function
docm
"Alfred WALLACE" wrote in message
news:
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considér é
Sansdoublons.Remove JJ + 1 'supprime l'item considér é
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considéré
Sansdoublons.Remove JJ + 1 'supprime l'item considéré
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considéré
Sansdoublons.Remove JJ + 1 'supprime l'item considéré
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre
Bonsoir,
J'ai une SUB donnees_de_champ_unique()
qui contiend çà :
Dim Tabentree, Sansdoublons As New Collection, II As Long, JJ As Long
Stop
Sheets("base complète").Visible = True
Sheets("base complète").Select
Sheets("base complète").Activate
' pour ce positionner à la colonne concernée dans la base
Cells(2, Sheets(nomfeuille).CBB_champ_de_page.ListIndex + 1).Select
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
No_Event = True
Sheets("base complète").Visible = False ' on ferme la feuille de
la base : pas besoin
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
On Error Resume Next
Sansdoublons.Add Tabentree(II, 1), CStr(Tabentree(II, 1))
Next
On Error GoTo 0
For II = 1 To Sansdoublons.Count - 1
For JJ = II + 1 To Sansdoublons.Count
If Sansdoublons(II) > Sansdoublons(JJ) Then
Swap1 = Sansdoublons(II)
Swap2 = Sansdoublons(JJ)
Sansdoublons.Add Swap1, before:=JJ
Sansdoublons.Add Swap2, before:=II
Sansdoublons.Remove II + 1 'supprime l'item considéré
Sansdoublons.Remove JJ + 1 'supprime l'item considéré
End If
Next JJ
Next II
Sheets(nomfeuille).CBB_Donnee_de_page.Clear
For II = 1 To Sansdoublons.Count
Sheets(nomfeuille).CBB_Donnee_de_page.AddItem Sansdoublons(II)
Next
End Sub
çà marche.
Sheets(nomfeuille).CBB_Donnee_de_page.list = Ma_fonction(sansdoublons)
je n'arrive pas à déclarer sansdoublons correctement pour que je
puisse le calculer dans
une fonction (comme dans la sub actuelle) et le passer comme parametre
de retour
afin d'initialiser la .list de ma CBB.
Voilà, c'est un peu compliquer, j'espère que je suis pas trop
brouillon...
Merci
José
j'aimerai pouvoir utiliser cette sub ailleurs, pouvoir lui passer comme
parametre