OVH Cloud OVH Cloud

Userform et liste modifiable

5 réponses
Avatar
PiedQuiPousse
Bonjour

La question du jour qui je pense me permettra de terminer=20
mon premier userform est :

Comment afficher dans un zone de liste modifiable le=20
contenu des cellules d=E9ja saisie.
Mais sans afficher les doublons !!!
En effet, l'attribut RowSource affiche tout et ne fait=20
pas de tri. grrrr

Merci d'avance

Pied

5 réponses

Avatar
papou
Bonjour
Dans l'évènement Initialize de ton userform place ce code exemple (modifies
avec les noms et adresses qui vont bien)
Private Sub UserForm_Initialize()
Dim DerL As Long
DerL = Feuil1.Range("A65536").End(xlUp).Row
For i = 1 To DerL
If Evaluate(Application.WorksheetFunction.CountIf(Range(Cells(i, 1),
Cells(1, 1)), Cells(i, 1))) = 1 Then
Me.ComboBox1.AddItem (Feuil1.Cells(i, 1))
End If
Next i
End Sub

Cordialement
Pascal

"PiedQuiPousse" a écrit dans le
message de news:19a0801c44d42$a6d69ec0$
Bonjour

La question du jour qui je pense me permettra de terminer
mon premier userform est :

Comment afficher dans un zone de liste modifiable le
contenu des cellules déja saisie.
Mais sans afficher les doublons !!!
En effet, l'attribut RowSource affiche tout et ne fait
pas de tri. grrrr

Merci d'avance

Pied
Avatar
PiedQuiPousse
Ok merci
cela m'affiche les valeur déja saisie mais je retrouve
toutes les valeurs y compris les doublons ...
Y a til un moyen de tester l'unicite avant d'afficher ?




-----Message d'origine-----
Bonjour
Dans l'évènement Initialize de ton userform place ce
code exemple (modifies

avec les noms et adresses qui vont bien)
Private Sub UserForm_Initialize()
Dim DerL As Long
DerL = Feuil1.Range("A65536").End(xlUp).Row
For i = 1 To DerL
If Evaluate(Application.WorksheetFunction.CountIf
(Range(Cells(i, 1),

Cells(1, 1)), Cells(i, 1))) = 1 Then
Me.ComboBox1.AddItem (Feuil1.Cells(i, 1))
End If
Next i
End Sub

Cordialement
Pascal

"PiedQuiPousse" a
écrit dans le

message de news:19a0801c44d42$a6d69ec0
$

Bonjour

La question du jour qui je pense me permettra de terminer
mon premier userform est :

Comment afficher dans un zone de liste modifiable le
contenu des cellules déja saisie.
Mais sans afficher les doublons !!!
En effet, l'attribut RowSource affiche tout et ne fait
pas de tri. grrrr

Merci d'avance

Pied


.



Avatar
papou
Re
Ben justement c'est bien ce qui est censé se passer ;-) :
If Evaluate(Application.WorksheetFunction.CountIf(Range(Cells(i, 1),Cells(1,
1)), Cells(i, 1))) = 1 Then

J'ai testé (rapidement) sur mon Excel 2003 et ça fonctionne.
Peut-être en triant les valeurs ?

Cordialement
Pascal


"PiedQuiPousse" a écrit dans le
message de news:1979801c44d54$511fb2c0$
Ok merci
cela m'affiche les valeur déja saisie mais je retrouve
toutes les valeurs y compris les doublons ...
Y a til un moyen de tester l'unicite avant d'afficher ?




-----Message d'origine-----
Bonjour
Dans l'évènement Initialize de ton userform place ce
code exemple (modifies

avec les noms et adresses qui vont bien)
Private Sub UserForm_Initialize()
Dim DerL As Long
DerL = Feuil1.Range("A65536").End(xlUp).Row
For i = 1 To DerL
If Evaluate(Application.WorksheetFunction.CountIf
(Range(Cells(i, 1),

Cells(1, 1)), Cells(i, 1))) = 1 Then
Me.ComboBox1.AddItem (Feuil1.Cells(i, 1))
End If
Next i
End Sub

Cordialement
Pascal

"PiedQuiPousse" a
écrit dans le

message de news:19a0801c44d42$a6d69ec0
$

Bonjour

La question du jour qui je pense me permettra de terminer
mon premier userform est :

Comment afficher dans un zone de liste modifiable le
contenu des cellules déja saisie.
Mais sans afficher les doublons !!!
En effet, l'attribut RowSource affiche tout et ne fait
pas de tri. grrrr

Merci d'avance

Pied


.



Avatar
PiedQuiPousse
Ok j'ai vu
ca fonctionne mais Le probleme est le suivant

En fait lorsque je saisi une nouvelle valeur j'ai besoin
de la faire apparaitre dans la liste .
Donc si je relance UserForm_Initialize alors il me remet
tout.

Cela fonctionne si on le fait qu'une seule fois :-o

-----Message d'origine-----
Re
Ben justement c'est bien ce qui est censé se passer ;-) :
If Evaluate(Application.WorksheetFunction.CountIf(Range
(Cells(i, 1),Cells(1,

1)), Cells(i, 1))) = 1 Then

J'ai testé (rapidement) sur mon Excel 2003 et ça
fonctionne.

Peut-être en triant les valeurs ?

Cordialement
Pascal


"PiedQuiPousse" a
écrit dans le

message de news:1979801c44d54$511fb2c0
$

Ok merci
cela m'affiche les valeur déja saisie mais je retrouve
toutes les valeurs y compris les doublons ...
Y a til un moyen de tester l'unicite avant d'afficher ?




-----Message d'origine-----
Bonjour
Dans l'évènement Initialize de ton userform place ce
code exemple (modifies

avec les noms et adresses qui vont bien)
Private Sub UserForm_Initialize()
Dim DerL As Long
DerL = Feuil1.Range("A65536").End(xlUp).Row
For i = 1 To DerL
If Evaluate(Application.WorksheetFunction.CountIf
(Range(Cells(i, 1),

Cells(1, 1)), Cells(i, 1))) = 1 Then
Me.ComboBox1.AddItem (Feuil1.Cells(i, 1))
End If
Next i
End Sub

Cordialement
Pascal

"PiedQuiPousse" a
écrit dans le

message de news:19a0801c44d42$a6d69ec0
$

Bonjour

La question du jour qui je pense me permettra de
terminer


mon premier userform est :

Comment afficher dans un zone de liste modifiable le
contenu des cellules déja saisie.
Mais sans afficher les doublons !!!
En effet, l'attribut RowSource affiche tout et ne fait
pas de tri. grrrr

Merci d'avance

Pied


.




.




Avatar
PiedQuiPousse
En fait il faudrait faire un RAZitem à chaque fois.
Comment on fait !!

Merci

-----Message d'origine-----
Ok j'ai vu
ca fonctionne mais Le probleme est le suivant

En fait lorsque je saisi une nouvelle valeur j'ai besoin
de la faire apparaitre dans la liste .
Donc si je relance UserForm_Initialize alors il me remet
tout.

Cela fonctionne si on le fait qu'une seule fois :-o

-----Message d'origine-----
Re
Ben justement c'est bien ce qui est censé se passer ;-
) :


If Evaluate(Application.WorksheetFunction.CountIf(Range
(Cells(i, 1),Cells(1,

1)), Cells(i, 1))) = 1 Then

J'ai testé (rapidement) sur mon Excel 2003 et ça
fonctionne.

Peut-être en triant les valeurs ?

Cordialement
Pascal


"PiedQuiPousse" a
écrit dans le

message de news:1979801c44d54$511fb2c0
$

Ok merci
cela m'affiche les valeur déja saisie mais je retrouve
toutes les valeurs y compris les doublons ...
Y a til un moyen de tester l'unicite avant d'afficher ?




-----Message d'origine-----
Bonjour
Dans l'évènement Initialize de ton userform place ce
code exemple (modifies

avec les noms et adresses qui vont bien)
Private Sub UserForm_Initialize()
Dim DerL As Long
DerL = Feuil1.Range("A65536").End(xlUp).Row
For i = 1 To DerL
If Evaluate(Application.WorksheetFunction.CountIf
(Range(Cells(i, 1),

Cells(1, 1)), Cells(i, 1))) = 1 Then
Me.ComboBox1.AddItem (Feuil1.Cells(i, 1))
End If
Next i
End Sub

Cordialement
Pascal

"PiedQuiPousse" a
écrit dans le

message de news:19a0801c44d42$a6d69ec0
$

Bonjour

La question du jour qui je pense me permettra de
terminer


mon premier userform est :

Comment afficher dans un zone de liste modifiable le
contenu des cellules déja saisie.
Mais sans afficher les doublons !!!
En effet, l'attribut RowSource affiche tout et ne fait
pas de tri. grrrr

Merci d'avance

Pied


.




.

.