Creer une macro fonction d'une valeur cellule

Résolu/Fermé
soniatouns777 - Modifié par soniatouns777 le 24/02/2011 à 09:31
 soniatouns777 - 24 févr. 2011 à 11:06
J'ai un fichier avec un tableau croisé dynamique, qui contient un filtre sur les années (champ exercice)

Je souhaiterais créer une macro qui sélectionne le champ « sens » et le champ « section » mais je souhaite saisir manuellement l'année (car c'est un champ avec une mise a jour automatique, elle pourra prendre la valeur 2012, 2013 ...) le fait de saisir manuellement l'année dans une cellule d'un fichier different me permettra de m'adapter aux nouvelles données.
Merci de bien vouloir m'aider

Le code que je souhaite changer est :
Sub Macro2_tcd_fctonnmnt()
'
    Windows("fichier.xls").Activate
    Sheets("onglet").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Exercice"). _
        CurrentPage = "2010"
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Sens"). _
        CurrentPage = "D"
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Section"). _
        CurrentPage = "F"
    Range("B7:B17").Select
    Selection.Copy
    Windows("tableaux de bord - objectif-1.2.xls").Activate
    Sheets("Tableau Fonctionnement").Select
    Range("C5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False


Le code que je souhaiterais avoir est du type :
Private Sub Worksheet_change(ByVal Target As Range)
`c est dans la cellule D15 que je souhaite saisir manuellement l'année
 If Target.Adress = "$D$15" Then
    Windows("fichier.xls").Activate
    Sheets("onglet").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Exercice"). _
        CurrentPage = "Target.Adress"

    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Sens"). _
        CurrentPage = "D"
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Section"). _
        CurrentPage = "F"
    Range("B7:B17").Select
    Selection.Copy
    Windows("tableaux de bord - objectif-1.2.xls").Activate
    Sheets("Tableau Fonctionnement").Select
    Range("C5").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False




End If

End Sub
A voir également:

1 réponse

soniatouns777
24 févr. 2011 à 11:06
quelqu'un pourrait il m'aider svp
0