mise a jour TCD suivant combobox

gonz19

XLDnaute Occasionnel
bonjour a tous

me revoilà avec un nouveau problème qui me bloque dans la suite de mon code depuis plusieurs heure.

j'ai plusieurs Tcd qui résume mes feuilles de donnée.
je les mets a jour avec un code en VBA. les informations de filtre sont contenue dans 3 combobox
1- numéro de chantier
2- mois
3 année

j'ai réussi la mise a jour avec la combo 1
j'ai réussi à traitait l'erreur, d'un numéro de chantier saisi dans la combo inexistant dans les pivotItems (laisser le champ vide.)
ma méthode n'est peux être pas très professionnel mais elle a le mérite de fonctionner.

je voudrait pouvoir trouver une méthode avec les mois et les années
les mois dans la combo 2 sont intégré de la magnanière suivante

Code:
ComboBox2.Clear
Dim i1 As Byte
For i1 = 1 To 12
        ComboBox2.AddItem MonthName(i1)

voici mon code de mise à jour
Code:
Sub test4()
x = 0
  mois2 = Sheets("Suivie").ComboBox2.Value
    annee = Sheets("Suivie").ComboBox3.Value
   chantier = Sheets("Suivie").ComboBox1.Value
   
   
      
i = "heure"
b = "suivie"
Sheets(i).Select
ligne = Sheets(i).Range("A65536").End(xlUp).Row
For Each cell In Worksheets(i).Range("A2:A" & ligne)
If Val(cell.Text) = chantier Then x = (x + 1)
Next cell
Sheets(b).Select

'MsgBox chantier
With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields( _
        "Chantier")
        .ClearAllFilters
        .EnableMultiplePageItems = False
        
        If x = 0 Then
        .CurrentPage = "(blank)"
        .PivotItems(blank).Visible = True
        'MsgBox " aucun heure n'est attaché au chantier " & chantier
        Else
        .CurrentPage = chantier
        .PivotItems(chantier).Visible = True
        End If
        End With
          
        With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Date")
        .ClearAllFilters
        .EnableMultiplePageItems = False
        
        .CurrentPage = mois2
        .PivotItems(mois2).Visible = True
         End With

        With ActiveSheet.PivotTables("Tableau croisé dynamique4").PivotFields("Années")
        .ClearAllFilters
        .EnableMultiplePageItems = False
        .CurrentPage = annee
        .PivotItems(annee).Visible = True
     End With
x = 0
End Sub
 

joss56

XLDnaute Accro
Re : mise a jour TCD suivant combobox

Bonjour à tous,

Sans fichier exemple, difficile d'être affirmatif mais une question se pose : pourquoi utiliser des combobox pour filtrer alors qu'il est possible de paramétrer tout ça dans le tableau croisé?

Bonne journée,

Jocelyn
 

Discussions similaires

Réponses
11
Affichages
944

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa