suppression items dans combobox

kikol

XLDnaute Junior
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
 

Robert

XLDnaute Barbatruc
Repose en paix
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
 

Si...

XLDnaute Barbatruc
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
 

kikol

XLDnaute Junior
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 édition:

kikol

XLDnaute Junior
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

  • Suivi Budget EXCELDOWLOAD.xlsm
    147.3 KB · Affichages: 50
  • Suivi Budget EXCELDOWLOAD.xlsm
    147.3 KB · Affichages: 44
  • Suivi Budget EXCELDOWLOAD.xlsm
    147.3 KB · Affichages: 45

Si...

XLDnaute Barbatruc
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

  • Usf TCD.xlsm
    152.8 KB · Affichages: 36

kikol

XLDnaute Junior
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

  • Suivi Budget EXCELDOWLOAD.xlsm
    153 KB · Affichages: 32
  • Suivi Budget EXCELDOWLOAD.xlsm
    153 KB · Affichages: 40
  • Suivi Budget EXCELDOWLOAD.xlsm
    153 KB · Affichages: 39

Discussions similaires

Réponses
11
Affichages
297
Réponses
6
Affichages
248

Statistiques des forums

Discussions
312 273
Messages
2 086 694
Membres
103 372
dernier inscrit
BibiCh