Bonjour,
Je post pour la première fois sur ce forum, mais je le consulte depuis un moment et s'est une véritable mine d'informations ! Félicitation !
Voilà mon problème :
Je dois réaliser une macro qui me permettra de mettre à jour un tcd (dans un premier temps, mais surtout un graph tcd) en fonction d'une liste déroulante qui n'est pas celles du tcd.
J'ai commencé à écrir une macro, mais elle ne marche pas ...J'ai besoin d'aide !
Pr l'exemple:
Onglet 1, j'ai 3 col (Nom,Date, Données)
Onglet 2, ma liste déroulante de "NOM" et mon tcd qui me donne les données en fonction de la date et du Nom.
La macro :
Sub Maj_tcd()
v_champ = Range("Nom")
For Each tcd In ActiveSheet.PivotTables
trouve = False
For Each valeur_champ In tcd.PivotFields("Nom").PivotItems
If valeur_champ = v_champ Or v_champ = "(Tous)" Then
trouve = True
Exit For
End If
Next valeur_champ
If trouve Then
tcd.PivotFields("Nom").CurrentPage = v_champ
Else
MsgBox ("Ce nom est introuvable dans la liste de saisie")
Exit Sub
End If
End Sub
Si quelqu'un peut m'aider !!
Il y a puet être une autre solution que le VBA (je prends toutes les idées)
Un grand merci d'avance ! (Alors imaginez après )
Je post pour la première fois sur ce forum, mais je le consulte depuis un moment et s'est une véritable mine d'informations ! Félicitation !
Voilà mon problème :
Je dois réaliser une macro qui me permettra de mettre à jour un tcd (dans un premier temps, mais surtout un graph tcd) en fonction d'une liste déroulante qui n'est pas celles du tcd.
J'ai commencé à écrir une macro, mais elle ne marche pas ...J'ai besoin d'aide !
Pr l'exemple:
Onglet 1, j'ai 3 col (Nom,Date, Données)
Onglet 2, ma liste déroulante de "NOM" et mon tcd qui me donne les données en fonction de la date et du Nom.
La macro :
Sub Maj_tcd()
v_champ = Range("Nom")
For Each tcd In ActiveSheet.PivotTables
trouve = False
For Each valeur_champ In tcd.PivotFields("Nom").PivotItems
If valeur_champ = v_champ Or v_champ = "(Tous)" Then
trouve = True
Exit For
End If
Next valeur_champ
If trouve Then
tcd.PivotFields("Nom").CurrentPage = v_champ
Else
MsgBox ("Ce nom est introuvable dans la liste de saisie")
Exit Sub
End If
End Sub
Si quelqu'un peut m'aider !!
Il y a puet être une autre solution que le VBA (je prends toutes les idées)
Un grand merci d'avance ! (Alors imaginez après )