Bonjour à tous,
J'ai un tableau croisé dynamique qui est construit sur la base d'une plage de cellule variable (historique de prix)
Comment faire pour que la plage soit automatiquement prise en compte lors de l'ajout de nouvelle ligne.
J'ai trouvé ce tuto mais il semble y avoir une erreur. Pouvez vous m'aider à le corriger :
Exemple avec un tableau en colonne A:B en Feuil1
Insertion > Noms > Définir >
Nom dans le classeur : tu l'appelles par ex 'tablo' > Fait référence à :
=Feuil1!$1ECALER(Feuil1!$1;0;0;NBVAL(Feuil1!)
Ceci permet de 'rendre dynamique' la plage du tableau
Ensuite tu fais ton TCD avec l'assistant .
* dans l'étape 2, plage données > tu saisis = tablo
* dans l'étape 3, disposition > tu positionnes tes champs .Options > nom >
tu saisis = monTCD
Ensuite pour l'actualiser auto à la saisie :
Dans le module attaché à la feuille (clic droit sur l'onglet > visualiser le code) :
Private Sub
Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
ActiveSheet.PivotTables('monTCD').RefreshTable
end if
End Sub
Merci d'avance.
Laurent
Message édité par: ljoue, à: 21/02/2006 16:54
J'ai un tableau croisé dynamique qui est construit sur la base d'une plage de cellule variable (historique de prix)
Comment faire pour que la plage soit automatiquement prise en compte lors de l'ajout de nouvelle ligne.
J'ai trouvé ce tuto mais il semble y avoir une erreur. Pouvez vous m'aider à le corriger :
Exemple avec un tableau en colonne A:B en Feuil1
Insertion > Noms > Définir >
Nom dans le classeur : tu l'appelles par ex 'tablo' > Fait référence à :
=Feuil1!$1ECALER(Feuil1!$1;0;0;NBVAL(Feuil1!)
Ceci permet de 'rendre dynamique' la plage du tableau
Ensuite tu fais ton TCD avec l'assistant .
* dans l'étape 2, plage données > tu saisis = tablo
* dans l'étape 3, disposition > tu positionnes tes champs .Options > nom >
tu saisis = monTCD
Ensuite pour l'actualiser auto à la saisie :
Dans le module attaché à la feuille (clic droit sur l'onglet > visualiser le code) :
Private Sub
Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 2 Then
ActiveSheet.PivotTables('monTCD').RefreshTable
end if
End Sub
Merci d'avance.
Laurent
Message édité par: ljoue, à: 21/02/2006 16:54