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
voici mon code de mise à jour
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