mise a jour TCD suivant combobox

  • Initiateur de la discussion Initiateur de la discussion gonz19
  • 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 !

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

Discussions similaires

Réponses
11
Affichages
1 K
Retour