Selectionner 1 item d'un champ à l'aide d'une variable

Résolu
julienfavier Messages postés 2 Date d'inscription vendredi 4 mars 2011 Statut Membre Dernière intervention 7 mars 2011 - 7 mars 2011 à 12:00
julienfavier Messages postés 2 Date d'inscription vendredi 4 mars 2011 Statut Membre Dernière intervention 7 mars 2011 - 7 mars 2011 à 13:25
Bonjour a tous,
Je fais appel au forum a toutes les personnes compétentes du forum (et je sais qu'elles sont nombreuses)

Je cherche à l'aide d'une Box à choisir un item d'un champ, à le sélectionner et décocher les autres.

Puis dans un second temps, l'exclure d'un autre champ et sélectionner tous les autres.

Ceci a pour but d'automatiser mon filtrage et d'éviter à l'utilisateur de mon programme une sélection fastidieuse.

Ci joint le bout de code.
Mon gros soucis est d'appeler l'item que je choisi au début:


Sub PIR()

Dim pt As PivotTable
Dim pf As PivotField
Dim Pi As PivotItem
Dim Arr(), A, AA, B As Variant

B = InputBox("Entrez le numéro de pôle voulu")
Arr = Array("B")

With Worksheets("PIR")
Set pt = .PivotTables("Tableau croisé dynamique1")
End With

Set pf = pt.PivotFields("profit center projet")
On Error Resume Next
For Each Pi In pf.PivotItems
A = WorksheetFunction.Match(Pi.Name, Arr, 0)
If Not IsError(A) Then
Pi.Visible = False
Pi("B").Visible = True (c'est la pb)
Else
Err = 0
End If
Next

Set pff = pt.PivotFields("Profit Center employé")
On Error Resume Next
For Each Pi In pff.PivotItems
AA = WorksheetFunction.Match(Pi.Name, Arr, 0)
If Not IsError(AA) Then
Pi.Visible = True
Else
Err = 0
End If
Next

End Sub

2 réponses

4u4me4us Messages postés 780 Date d'inscription lundi 22 janvier 2007 Statut Membre Dernière intervention 30 octobre 2013 3
7 mars 2011 à 12:12
Tu as une mauvaise utilisation de ton tableau Arr(). Celons moi tu devrais penser a l'utilité de ce tableau.

Tu fais B = InputBox("Entrez le numéro de pôle voulu") et tu n'utilise plus la variable B c très étrange. De plus si tu remplace par tout ton tableau Arr par la variable B, tu commencerais a avoir un résultat.
3
julienfavier Messages postés 2 Date d'inscription vendredi 4 mars 2011 Statut Membre Dernière intervention 7 mars 2011
7 mars 2011 à 13:25
En fait mon principal souci est d'affecter true or false uniquement à l'item que j'entre...
Pour l'instant le code s'execute et affecte true ou false suivant le choix a tous les item (ce qui est logique vu qu'il manque le bout de code ici)

Ce qu'il me faudrait c'est la synthaxe pour faire ca en lieu et place de:
Pi("B").Visible = True (c'est la pb)
qui ne marche pas.

Donc si quelqu'un peut m'éclairer, je suis preneur..
(ca doit certainement etre très bete en +..enfin a voir)
0
Rejoignez-nous