Résolu : Récupérer le nom d'un tableau dynamique sous Excel2007

Résolu : Récupérer le nom d'un tableau dynamique sous Excel2007 - VB/VBA/VBS - Programmation

Marsh Posté le 10-09-2009 à 11:33:38    

Bonjours à tous,
Je me suis récemment (re)-mis à la programmation de Macro sous Excel 2007, mais je désespère depuis quelques jours, parce que je ne trouve pas le moyen de renvoyer dans une variable chaîne le nom d'un tableau dynamique.
Ce que je voudrais faire, c'est : lorsque je sélectionne une cellule d'un tableau dynamique, en lançant la macro, j'arrive à récupérer le nom du tableau dynamique de la sélection en cours :D, pour ensuite rajouter une ligne sur ce tableau et diverses autres fonctions :D
...Mais, je n'y arrive pas
 
Merci de votre aide
 
Cordialement


Message édité par wolfaryx le 10-09-2009 à 19:07:31
Reply

Marsh Posté le 10-09-2009 à 11:33:38   

Reply

Marsh Posté le 10-09-2009 à 11:46:20    

Code :
  1. ActiveCell.PivotTable.Name


 
Par contre, si ta cellule ne fait pas partie d'un TCD ça génére une erreur.
 
(oh et j'ai pas 2007 mais je pense que ca doit marcher quand même)

Reply

Marsh Posté le 10-09-2009 à 11:55:34    

Wysi a écrit :

Code :
  1. ActiveCell.PivotTable.Name


 
Par contre, si ta cellule ne fait pas partie d'un TCD ça génére une erreur.
 
(oh et j'ai pas 2007 mais je pense que ca doit marcher quand même)


Helas, cela ne fonctionne pas :(
voici mon code, pourtant tout simple :
 

Code :
  1. Sub name()
  2.     Dim actseet As String
  3.     Dim Nom As String
  4.    
  5.     actseet = ActiveSheet.name
  6.     Nom = ActiveCell.PivotTable.name
  7.     Range("J2" ).Select
  8.     ActiveCell.FormulaR1C1 = Nom
  9. End Sub


 
La macro est appelé par un bouton
J'obient une erreur 1004 : Impossible de lire la propriété PivotTable de la Classe Range en me surbrillant la ligne 6.

Reply

Marsh Posté le 10-09-2009 à 12:03:45    

C'est en effet l'erreur qui est générée quand ta cellule ne fait pas partie d'un tableau croisé dynamique.
 
Tu rajoutes une gestion d'erreur là dessus du genre :

Code :
  1. on error resume next
  2. msgbox ActiveCell.PivotTable.name
  3. if err then
  4.      msgbox "La cellule ne fait pas partie d'un TCD"
  5. endif


 
et ça roule tranquille normalement.
 
J'ai un 2003 au boulot et le code marche sans probleme.
 
 
 
 
 

Reply

Marsh Posté le 10-09-2009 à 12:43:43    

Merci à vous deux pour votre aide, sa marche correctement et sa m'a vraiment débloqué ma situation !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed