julienfavier
Messages postés2Date d'inscriptionvendredi 4 mars 2011StatutMembreDernière intervention 7 mars 2011
-
7 mars 2011 à 12:00
julienfavier
Messages postés2Date d'inscriptionvendredi 4 mars 2011StatutMembreDerniè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
A voir également:
Selectionner 1 item d'un champ à l'aide d'une variable
4u4me4us
Messages postés780Date d'inscriptionlundi 22 janvier 2007StatutMembreDernière intervention30 octobre 20133 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.
julienfavier
Messages postés2Date d'inscriptionvendredi 4 mars 2011StatutMembreDerniè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)