Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

suppression items dans combobox

  • Initiateur de la discussion Initiateur de la discussion kikol
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kikol

Guest
Hello,

je viens récupérer une liste d'un TCD pour la mettre dans une combo box.

jusque là tout va bien.

je souhaite ensuite supprimer 2 valeur de cette liste .
la valeur (blank) et la valeur N° Compte
j'ai créé une boucle qui teste au travers d'un tableau (array) qui contient ces 2 valeurs mais cela ne fonctionne pas et je ne comprends pas pourquoi?

Merci de voir si j'ai une boulette dans la syntaxe.

Le code ci-dessous :

Private Sub CommandButton1_Click()
'Recupère la liste des N° compte du TCD
Dim R As Integer
Dim F As Integer
Dim lindex As Long
Dim i As Long
Dim lesNoms As Variant

UserForm1.ComboBox1.Clear
'UserForm1.ComboBox1.Visible = False
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
F = .PivotItems.Count
For R = 1 To F
UserForm1.ComboBox1.AddItem .PivotItems(R).Name
Next
lesNoms = Array("(Blank)", "N° Compte")
For i = UserForm1.ComboBox1.ListCount - 1 To 0 Step -1
For j = 0 To 1
If lesNoms(j) = UserForm1.ComboBox1.Value Then
lindex = UserForm1.ComboBox1.ListIndex
UserForm1.ComboBox1.RemoveItem lindex
End If
Next j
Next i
End With
End Sub

Merci d’avance
KIKOL
 
Re : suppression items dans combobox

Bonsoir Kikol, bonsoir le forum,

Si j'ai bien compris la ComboBox1 contient 2 colonnes (0 et 1).Si c'est le cas, le code ci-dessous devrait fonctionner :

Code:
Private Sub CommandButton1_Click()
'Recupère la liste des N° compte du TCD
Dim R As Integer
Dim F As Integer
Dim lindex As Long
Dim i As Integer
Dim j As Byte
Dim lesNoms(1) As String

UserForm1.ComboBox1.Clear
'UserForm1.ComboBox1.Visible = False
With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
    F = .PivotItems.Count
    For R = 1 To F
        UserForm1.ComboBox1.AddItem .PivotItems(R).Name
    Next R
    lesNoms = Array("(Blank)", "N° Compte")
    For i = UserForm1.ComboBox1.ListCount - 1 To 0 Step -1
        For j = 0 To 1
            With Me.ComboBox1
                If .Column(j, .List(i)) = lesNoms(j) Then .RemoveItem (i)
            End With
        Next j
    Next i
End With
End Sub
 
Re : suppression items dans combobox

salut

si... tu ne les mets pas, tu n'as pas besoin de les enlever !

Peut-être 1si ?
Code:
Private Sub CommandButton2_Click()
  Dim R As Long
  UserForm1.ComboBox1.Clear
  With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
    For R = 1 To .PivotItems.Count
      If .PivotItems(R).Name <> "(Blank)" Or .PivotItems(R).Name <> "N° Compte" Then _
        UserForm1.ComboBox1.AddItem .PivotItems(R).Name
    Next
  End With
End Sub
 
Re : suppression items dans combobox

Bonsoir le fil, bonsoir le forum,

Oui Si... mais pourquoi faire simple quand on peut faire compliquer ? Arrête de m'énerver s'il te plaît...
 
Re : suppression items dans combobox

Bonjour, et merci pour votre réponse,
C'est peut être là qu'il y a un bug ma combobox ne contient qu'une seule liste de valeur.
les 2 variable d'itération serve à :
le i est pour avancer dans la liste du combobox et tester toutes les valeurs
le j est pour avancer dans le tableau array qui contient les Deux valeurs que je veux supprimer de la liste combobox ((blank) et N° Compte...

et je viens de lire le fil du post et effectivement je pense que la meilleur solution c'est de ne pas les mettre....

Je test cela de suite!

Kikol...
 
Dernière modification par un modérateur:
Re : suppression items dans combobox

OUPS 0,0 balle au centre.
Je viens de tester et il sont toujours là!!!

JE mets le fichier car je ne vois pas ce qui bug!
 

Pièces jointes

Re : suppression items dans combobox

salut

avec ta procèdure :
Code:
Private Sub CommandButton1_Click()
  Dim i As Integer
  ComboBox1.Clear
  With Worksheets("BUDGETS MENSUELS").PivotTables("Tableau croisé dynamique2").PivotFields("N° Compte")
    For i = 1 To .PivotItems.Count
      ComboBox1.AddItem .PivotItems(i).Name
    Next
  End With
  For i = ComboBox1.ListCount - 1 To 0 Step -1
    If ComboBox1.List(i) = "(blank)" Or ComboBox1.List(i) = "N° Compte" Then _
       ComboBox1.RemoveItem (i)
  Next
End Sub

avec la mienne :
Code:
Private Sub CommandButton1_Click()
  Dim i As Range
  ComboBox1.Clear
  For Each i In Feuil5.Range("A5:A" & [A65000].End(xlUp).Row - 1)
    If i <> "N° Compte" Then ComboBox1.AddItem i
  Next
End Sub

@Robert : désolé pour la collision d'autant plus que j'ai remarqué que lorsque tu étais énervé je t'entendais à 1500 km à la ronde 😉.
 

Pièces jointes

Re : suppression items dans combobox

Salut les chefs.

Merci pour la correction c'est parfait et cela fonctionne nickel.

Maintenant que j'ai la liste des champs nettoyés dans le combobox, je souhaite :

FOR
et ensuite récupérer la valeur (en € avec 2 chiffres après la virgule) de la colonne solde dans la textebox que j'ai rajouté.
après plusieurs essais je n'y arrive pas.

je rajoute le fichier avec son evolution et les essais

MErci d'avance

Kikol
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
311
Réponses
10
Affichages
634
Réponses
4
Affichages
692
Réponses
5
Affichages
841
Réponses
3
Affichages
903
Réponses
5
Affichages
391
Réponses
5
Affichages
551
  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
272
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…