Supprimer Doublons liste déroulante VBA

Résolu/Fermé
DEl - Modifié par pijaku le 11/02/2015 à 12:44
 DEl - 12 févr. 2015 à 17:42
Bonjour,

J'ai créé une liste déroulante en code VBA sur excel, mais a chaque nouvelle entrée la liste se duplique comment faire pour eviter que cela se produise ?

voila le code tapé sur vba :
'Paramètres de la liste déroulante unités
Private Sub userform_Activate()
With Me.zlmUnité
.AddItem ("pièce")
.AddItem ("kg")
.AddItem ("litre")
End With
End Sub


Merci d,'avance !

A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
11 févr. 2015 à 12:44
Bonjour,

Il faut Clear votre liste avant de la re-remplir :

'Paramètres de la liste déroulante unités
Private Sub userform_Activate()
With Me.zlmUnité
    .Clear
    .AddItem ("pièce")
    .AddItem ("kg")
    .AddItem ("litre")
End With
End Sub 

1
Merci beaucoup !!!!
0
Maintenant que j'ai reglé mon problème de doublons un autre probleme s,amène à moi :
j'ai deux listes déroulantes au sein d'une meme boite de dialogue le soucis est que lorsque l'une s'affiche, l'autre n'affiche plus les entrees dans la seconde liste deroulante ... que faire ?

'Paramètres de la liste déroulante unités
Private Sub Ingrédient_Activate()
With Me.cboUnité
.Clear
.AddItem ("pièce")
.AddItem ("kg")
.AddItem ("litre")
End With
End Sub

'Paramètres de la liste déroulante catégorie
Private Sub userform_Activate()
With Me.cboCatégorie
.Clear
.AddItem ("Epicerie sèche")
.AddItem ("Crèmerie")
.AddItem ("Fromages")
.AddItem ("Viandes")
.AddItem ("Poisson")
.AddItem ("Légumes secs et graines")
.AddItem ("Farines")
.AddItem ("Fruits secs et conserves sucrées")
.AddItem ("Condiments sucrés et salés")
.AddItem ("Préparations conserves")
.AddItem ("Fruits")
.AddItem ("Légumes")
End With
End Sub


merci d'avance !
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
11 févr. 2015 à 14:35
Qu'est ce que représentent userform et Ingrédient? deux Userforms différents?
Private Sub Ingrédient_Activate()
Private Sub userform_Activate()
0
DEl > pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024
11 févr. 2015 à 15:22
Non il n'y a qu'un userform celui de Ingrédient mais en gardant Ingredients pour les deux formules vba ca ne fonctionne pas :/
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > DEl
Modifié par pijaku le 11/02/2015 à 16:13
Tu n'as qu'un seul userform, donc un seul événement Activate.
Soit :
Private Sub Ingrédient_Activate()
'Paramètres de la liste déroulante unités
With Me.cboUnité
    .Clear
    .AddItem ("pièce")
    .AddItem ("kg")
    .AddItem ("litre")
End With
'Paramètres de la liste déroulante catégorie
With Me.cboCatégorie
    .Clear
    .AddItem ("Epicerie sèche")
    .AddItem ("Crèmerie")
    .AddItem ("Fromages")
    .AddItem ("Viandes")
    .AddItem ("Poisson")
    .AddItem ("Légumes secs et graines")
    .AddItem ("Farines")
    .AddItem ("Fruits secs et conserves sucrées")
    .AddItem ("Condiments sucrés et salés")
    .AddItem ("Préparations conserves")
    .AddItem ("Fruits")
    .AddItem ("Légumes")
End With
End Sub 
0
lorsque je fait ce code plus rien ne s'affiche dans les liste déroulante ... :/
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
Modifié par pijaku le 12/02/2015 à 07:52
Bonjour,

Je ne me suis pas demandé pourquoi tu avais placé ce code dans le Activate de ton Userform.
Place le dans l'événement initialize, comme ceci :
Private Sub UserForm_Initialize()
'Paramètres de la liste déroulante unités
With Me.cboUnité
    .Clear
    .AddItem ("pièce")
    .AddItem ("kg")
    .AddItem ("litre")
End With
'Paramètres de la liste déroulante catégorie
With Me.cboCatégorie
    .Clear
    .AddItem ("Epicerie sèche")
    .AddItem ("Crèmerie")
    .AddItem ("Fromages")
    .AddItem ("Viandes")
    .AddItem ("Poisson")
    .AddItem ("Légumes secs et graines")
    .AddItem ("Farines")
    .AddItem ("Fruits secs et conserves sucrées")
    .AddItem ("Condiments sucrés et salés")
    .AddItem ("Préparations conserves")
    .AddItem ("Fruits")
    .AddItem ("Légumes")
End With
End Sub


🎼 Cordialement,
Franck 🎶
0
Parfait ça fonctionne enfin comme je le souhaite ! Merci beaucoup ! :)
0