Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas faire
!)
1° colonne : liste sans doublons de la concaténation de LR et CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstrié"
(en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynamiques
( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de manière
plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
francois.forcet
On 21 fév, 00:28, "Patrick BASTARD" wrote:
Bonsoir à tous.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Salut Patrick
Je te propose ce code :
Do While Range("B6").Offset(i, 0).Address <> Range("B65535").End(xlUp).Address If Range("B6").Offset(i, 0) & "-" & Range("B6").Offset(i, 1) <> Range("F65535").End(xlUp) Then Range("F65535").End(xlUp).Offset(1, 0) = Range("B6").Offset(i, 0) & "-" & Range("B6").Offset(i, 1) End If i = i + 1 Loop
On 21 fév, 00:28, "Patrick BASTARD"
<pasdespambasta...@freepasdespam.fr> wrote:
Bonsoir à tous.
Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re
!)
1° colonne : liste sans doublons de la concaténation de LR et CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é"
(en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques
( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e
plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Salut Patrick
Je te propose ce code :
Do While Range("B6").Offset(i, 0).Address <>
Range("B65535").End(xlUp).Address
If Range("B6").Offset(i, 0) & "-" & Range("B6").Offset(i, 1) <>
Range("F65535").End(xlUp) Then
Range("F65535").End(xlUp).Offset(1, 0) = Range("B6").Offset(i, 0) &
"-" & Range("B6").Offset(i, 1)
End If
i = i + 1
Loop
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Salut Patrick
Je te propose ce code :
Do While Range("B6").Offset(i, 0).Address <> Range("B65535").End(xlUp).Address If Range("B6").Offset(i, 0) & "-" & Range("B6").Offset(i, 1) <> Range("F65535").End(xlUp) Then Range("F65535").End(xlUp).Offset(1, 0) = Range("B6").Offset(i, 0) & "-" & Range("B6").Offset(i, 1) End If i = i + 1 Loop
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Rebonjours Patrick Ci-joint une version avec le nombre de REFER correspondants
On 21 fév, 00:28, "Patrick BASTARD"
<pasdespambasta...@freepasdespam.fr> wrote:
Bonsoir à tous.
Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re
!)
1° colonne : liste sans doublons de la concaténation de LR et CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é"
(en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques
( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e
plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Rebonjours Patrick
Ci-joint une version avec le nombre de REFER correspondants
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Rebonjours Patrick Ci-joint une version avec le nombre de REFER correspondants
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
<pasdespambasta...@freepasdespam.fr> wrote:
Bonsoir à tous.
Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re
!)
1° colonne : liste sans doublons de la concaténation de LR et CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é"
(en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques
( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e
plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
francois.forcet
On 21 fév, 00:28, "Patrick BASTARD" wrote:
Bonsoir à tous.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Rebonjours Patrick
Une petite coquille sur ma dernière proposition avec le nombre de REFER correspondants
On 21 fév, 00:28, "Patrick BASTARD"
<pasdespambasta...@freepasdespam.fr> wrote:
Bonsoir à tous.
Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re
!)
1° colonne : liste sans doublons de la concaténation de LR et CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é"
(en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques
( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e
plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Rebonjours Patrick
Une petite coquille sur ma dernière proposition avec le nombre de
REFER correspondants
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas fai re !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstri é" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynami ques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manièr e plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Rebonjours Patrick
Une petite coquille sur ma dernière proposition avec le nombre de REFER correspondants
Private Sub UserForm_Initialize() Dim c() Set mondico = CreateObject("Scripting.Dictionary") temp = [B6:C1000] For i = 1 To UBound(temp, 1) x = temp(i, 1) & " - " & temp(i, 2) If temp(i, 1) <> "" Then If Not mondico.Exists(x) Then mondico.Add x, 1 Else y = mondico.Item(x) mondico.Remove (x) mondico.Add x, y + 1 End If End If Next i n = mondico.Count ReDim c(1 To n, 1 To 2) a = mondico.keys b = mondico.items For i = 1 To n c(i, 1) = a(i - 1) c(i, 2) = b(i - 1) Next i 'Me.ListBox2.List = c j = UBound(c, 1) Call tri2(c, 1, j) Me.ListBox2.List = c End Sub Sub tri2(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) 2, 1) g = gauc: d = droi Do Do While a(g, 1) < ref: g = g + 1: Loop Do While ref < a(d, 1): d = d - 1: Loop If g <= d Then temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp temp = a(g, 2): a(g, 2) = a(d, 2): a(d, 2) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri2(a, g, droi) If gauc < d Then Call tri2(a, gauc, d) End Sub
JB
On 21 fév, 08:53, JB wrote:
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
wrote:
Bonsoir à tous.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas f aire !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonst rié" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dyna miques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de mani ère plus élégante (sans les colonnes intermédiaires, et si possible sa ns les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Solution sans aucune colonne intermédiaire:
http://cjoint.com/?cvjP3BhWas
Private Sub UserForm_Initialize()
Dim c()
Set mondico = CreateObject("Scripting.Dictionary")
temp = [B6:C1000]
For i = 1 To UBound(temp, 1)
x = temp(i, 1) & " - " & temp(i, 2)
If temp(i, 1) <> "" Then
If Not mondico.Exists(x) Then
mondico.Add x, 1
Else
y = mondico.Item(x)
mondico.Remove (x)
mondico.Add x, y + 1
End If
End If
Next i
n = mondico.Count
ReDim c(1 To n, 1 To 2)
a = mondico.keys
b = mondico.items
For i = 1 To n
c(i, 1) = a(i - 1)
c(i, 2) = b(i - 1)
Next i
'Me.ListBox2.List = c
j = UBound(c, 1)
Call tri2(c, 1, j)
Me.ListBox2.List = c
End Sub
Sub tri2(a(), gauc, droi) ' Quick sort
ref = a((gauc + droi) 2, 1)
g = gauc: d = droi
Do
Do While a(g, 1) < ref: g = g + 1: Loop
Do While ref < a(d, 1): d = d - 1: Loop
If g <= d Then
temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp
temp = a(g, 2): a(g, 2) = a(d, 2): a(d, 2) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri2(a, g, droi)
If gauc < d Then Call tri2(a, gauc, d)
End Sub
JB
On 21 fév, 08:53, JB <boisgont...@hotmail.com> wrote:
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
<pasdespambasta...@freepasdespam.fr> wrote:
Bonsoir à tous.
Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas f aire
!)
1° colonne : liste sans doublons de la concaténation de LR et CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonst rié"
(en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dyna miques
( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de mani ère
plus élégante (sans les colonnes intermédiaires, et si possible sa ns les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -
Private Sub UserForm_Initialize() Dim c() Set mondico = CreateObject("Scripting.Dictionary") temp = [B6:C1000] For i = 1 To UBound(temp, 1) x = temp(i, 1) & " - " & temp(i, 2) If temp(i, 1) <> "" Then If Not mondico.Exists(x) Then mondico.Add x, 1 Else y = mondico.Item(x) mondico.Remove (x) mondico.Add x, y + 1 End If End If Next i n = mondico.Count ReDim c(1 To n, 1 To 2) a = mondico.keys b = mondico.items For i = 1 To n c(i, 1) = a(i - 1) c(i, 2) = b(i - 1) Next i 'Me.ListBox2.List = c j = UBound(c, 1) Call tri2(c, 1, j) Me.ListBox2.List = c End Sub Sub tri2(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) 2, 1) g = gauc: d = droi Do Do While a(g, 1) < ref: g = g + 1: Loop Do While ref < a(d, 1): d = d - 1: Loop If g <= d Then temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp temp = a(g, 2): a(g, 2) = a(d, 2): a(d, 2) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri2(a, g, droi) If gauc < d Then Call tri2(a, gauc, d) End Sub
JB
On 21 fév, 08:53, JB wrote:
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
wrote:
Bonsoir à tous.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas f aire !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonst rié" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dyna miques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de mani ère plus élégante (sans les colonnes intermédiaires, et si possible sa ns les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -
Je te remercie pour tes propositions, et le temps que tu as consacré à me les proposer.
Efficace, j'archive.
PS : un conseil à mon tour, si je puis me permettre (c'est bien la moindre des choses) : si tu veux éviter d'être pollué par les #?##! de spameurs, évite de mettre ton adresse en clair. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Je te remercie pour tes propositions, et le temps que tu as consacré à me
les proposer.
Efficace, j'archive.
PS : un conseil à mon tour, si je puis me permettre (c'est bien la moindre
des choses) : si tu veux éviter d'être pollué par les #?##! de spameurs,
évite de mettre ton adresse en clair.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Je te remercie pour tes propositions, et le temps que tu as consacré à me les proposer.
Efficace, j'archive.
PS : un conseil à mon tour, si je puis me permettre (c'est bien la moindre des choses) : si tu veux éviter d'être pollué par les #?##! de spameurs, évite de mettre ton adresse en clair. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Patrick BASTARD
Bonsoir, *Jacques*
c'est comme d'habitude, quoi ! Net, efficace, élégant, sans bavure. ;-) Il va falloir que je me mette aux tabeaux : vivement la retraite...
Merci, encore !
-- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Solution sans aucune colonne intermédiaire:
http://cjoint.com/?cvjP3BhWas
Private Sub UserForm_Initialize() Dim c() Set mondico = CreateObject("Scripting.Dictionary") temp = [B6:C1000] For i = 1 To UBound(temp, 1) x = temp(i, 1) & " - " & temp(i, 2) If temp(i, 1) <> "" Then If Not mondico.Exists(x) Then mondico.Add x, 1 Else y = mondico.Item(x) mondico.Remove (x) mondico.Add x, y + 1 End If End If Next i n = mondico.Count ReDim c(1 To n, 1 To 2) a = mondico.keys b = mondico.items For i = 1 To n c(i, 1) = a(i - 1) c(i, 2) = b(i - 1) Next i 'Me.ListBox2.List = c j = UBound(c, 1) Call tri2(c, 1, j) Me.ListBox2.List = c End Sub Sub tri2(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) 2, 1) g = gauc: d = droi Do Do While a(g, 1) < ref: g = g + 1: Loop Do While ref < a(d, 1): d = d - 1: Loop If g <= d Then temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp temp = a(g, 2): a(g, 2) = a(d, 2): a(d, 2) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri2(a, g, droi) If gauc < d Then Call tri2(a, gauc, d) End Sub
JB
On 21 fév, 08:53, JB wrote:
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
wrote:
Bonsoir à tous.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas faire !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstrié" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynamiques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manière plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonsoir, *Jacques*
c'est comme d'habitude, quoi !
Net, efficace, élégant, sans bavure.
;-)
Il va falloir que je me mette aux tabeaux : vivement la retraite...
Merci, encore !
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Solution sans aucune colonne intermédiaire:
http://cjoint.com/?cvjP3BhWas
Private Sub UserForm_Initialize()
Dim c()
Set mondico = CreateObject("Scripting.Dictionary")
temp = [B6:C1000]
For i = 1 To UBound(temp, 1)
x = temp(i, 1) & " - " & temp(i, 2)
If temp(i, 1) <> "" Then
If Not mondico.Exists(x) Then
mondico.Add x, 1
Else
y = mondico.Item(x)
mondico.Remove (x)
mondico.Add x, y + 1
End If
End If
Next i
n = mondico.Count
ReDim c(1 To n, 1 To 2)
a = mondico.keys
b = mondico.items
For i = 1 To n
c(i, 1) = a(i - 1)
c(i, 2) = b(i - 1)
Next i
'Me.ListBox2.List = c
j = UBound(c, 1)
Call tri2(c, 1, j)
Me.ListBox2.List = c
End Sub
Sub tri2(a(), gauc, droi) ' Quick sort
ref = a((gauc + droi) 2, 1)
g = gauc: d = droi
Do
Do While a(g, 1) < ref: g = g + 1: Loop
Do While ref < a(d, 1): d = d - 1: Loop
If g <= d Then
temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp
temp = a(g, 2): a(g, 2) = a(d, 2): a(d, 2) = temp
g = g + 1: d = d - 1
End If
Loop While g <= d
If g < droi Then Call tri2(a, g, droi)
If gauc < d Then Call tri2(a, gauc, d)
End Sub
JB
On 21 fév, 08:53, JB <boisgont...@hotmail.com> wrote:
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
<pasdespambasta...@freepasdespam.fr> wrote:
Bonsoir à tous.
Je pars de 3 colonnes :
LR : alphanumérique exemple : L21401
CAISSE : alphanumérique exemple C12
REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform
avec :
En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais
pas faire !)
1° colonne : liste sans doublons de la concaténation de LR et
CAISSE :
J'ai pû l'obtenir sur ma feuille avec la fonction de JB
"sansdoublonstrié" (en insérant, hélas!) une colonne supplémentaire.
2° colonne : nombre de REFER correspondants.
=SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront
dynamiques ( insertion de lignes sous le titre des colonnes).
Est-il possible par VBA d'alimenter automatiquement le listbox de
manière
plus élégante (sans les colonnes intermédiaires, et si possible
sans les N/A
et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions.
--
Bien amicordialement,
P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer
le texte des messages précédents -
c'est comme d'habitude, quoi ! Net, efficace, élégant, sans bavure. ;-) Il va falloir que je me mette aux tabeaux : vivement la retraite...
Merci, encore !
-- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Solution sans aucune colonne intermédiaire:
http://cjoint.com/?cvjP3BhWas
Private Sub UserForm_Initialize() Dim c() Set mondico = CreateObject("Scripting.Dictionary") temp = [B6:C1000] For i = 1 To UBound(temp, 1) x = temp(i, 1) & " - " & temp(i, 2) If temp(i, 1) <> "" Then If Not mondico.Exists(x) Then mondico.Add x, 1 Else y = mondico.Item(x) mondico.Remove (x) mondico.Add x, y + 1 End If End If Next i n = mondico.Count ReDim c(1 To n, 1 To 2) a = mondico.keys b = mondico.items For i = 1 To n c(i, 1) = a(i - 1) c(i, 2) = b(i - 1) Next i 'Me.ListBox2.List = c j = UBound(c, 1) Call tri2(c, 1, j) Me.ListBox2.List = c End Sub Sub tri2(a(), gauc, droi) ' Quick sort ref = a((gauc + droi) 2, 1) g = gauc: d = droi Do Do While a(g, 1) < ref: g = g + 1: Loop Do While ref < a(d, 1): d = d - 1: Loop If g <= d Then temp = a(g, 1): a(g, 1) = a(d, 1): a(d, 1) = temp temp = a(g, 2): a(g, 2) = a(d, 2): a(d, 2) = temp g = g + 1: d = d - 1 End If Loop While g <= d If g < droi Then Call tri2(a, g, droi) If gauc < d Then Call tri2(a, gauc, d) End Sub
JB
On 21 fév, 08:53, JB wrote:
Bonjour,
http://cjoint.com/?cvi1f84owv
JB
On 21 fév, 00:28, "Patrick BASTARD"
wrote:
Bonsoir à tous.
Je pars de 3 colonnes : LR : alphanumérique exemple : L21401 CAISSE : alphanumérique exemple C12 REFER : alphanumérique exemple : %123456789
http://cjoint.com/?cvaAJLrr56
Je cherche à alimenter une listbox à 2 colonnes sur un userform avec : En titre le titre des colonnes : LR - CAISSE et NOMBRE (je ne sais pas faire !) 1° colonne : liste sans doublons de la concaténation de LR et CAISSE : J'ai pû l'obtenir sur ma feuille avec la fonction de JB "sansdoublonstrié" (en insérant, hélas!) une colonne supplémentaire. 2° colonne : nombre de REFER correspondants. =SOMMEPROD(--(F$6:F$20=G6);1+0*(D$6:D$20)) m'a permis de l'obtenir.
La propriété rowsource ne me convient pas, car les zones seront dynamiques ( insertion de lignes sous le titre des colonnes). Est-il possible par VBA d'alimenter automatiquement le listbox de manière plus élégante (sans les colonnes intermédiaires, et si possible sans les N/A et 0).
Et je ne sais pas encore manipuler les tableaux.
Merci d'avance pour vos suggestions. -- Bien amicordialement, P. Bastard
Avant d'imprimer ce mail, ayez une pensée pour les arbres.- Masquer le texte des messages précédents -