Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2986 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Déclaration de la source d'un tableau croisé dyn en VBA **RESOLU**

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Déclaration de la source d'un tableau croisé dyn en VBA **RESOLU**

n°850875
crapaudine
Batracien jovial
Posté le 15-09-2004 à 17:05:07  profilanswer
 

Bonjour, je suis une débutante qui patauge un peu en VBA. Je fais quelques petits programmes pour améliorer les reportings mais rien de bien transcendant. D'habitude pour les trucs nouveaux je m'en sors entre l'enregistreur et les sites qui parlent de VBA mais là !!! Je vois pas... :(  
 
J'ai une zone de travail que je sélectionne (un tableau de données)et je voudrais que ce tableau soit la source d'un tableau croisé dynamique (que j'ai réussi à créer)
 
'sélection de la zone de travail
    Range("G1" ).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.Offset(0, -2)).Select
     
'création du tableau croisé dynamique
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="?????" ). _
    CreatePivotTable TableDestination:="", TableName:="Altis"
 
C'est ce qu'il y a en rouge qui me pose problème. L'enregistreur m'a mis des RxCy:RzCi et moi je voudrais que la zone varie en fonction de longeur du tableau que je sélectionne (suis-je claire ??? [:cvb] )
 
Je pense qu'il s'agit d'une déclaration de variable ou un truc du genre mais je ne sais pas faire cela...C'est le dernier truc qui me bloque. c'est rageant !!! Quelqun help please


Message édité par crapaudine le 16-09-2004 à 09:43:53

---------------
Excel est mon ami pour la vie - http://marion.chtitemouss.net/
mood
Publicité
Posté le 15-09-2004 à 17:05:07  profilanswer
 

n°850885
arkeod
Lurkeur since '01
Posté le 15-09-2004 à 17:16:24  profilanswer
 

perso, en ayant appris sur le tas, je crée une variable string qui "représente" la zone à utiliser pour la cellule :
dim pivot as string
 
pivot = "feuille1!R1C1:R" & counter & "Cxxx"
'avec counter=nombre de lignes
'et xxx= xxxième colonne
 
   
'création du tableau croisé dynamique
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=pivot). _
    CreatePivotTable TableDestination:="", TableName:="Altis"

n°850942
crapaudine
Batracien jovial
Posté le 15-09-2004 à 18:35:12  profilanswer
 

J'ai du merder quelquepart !!!!
 
http://img12.exs.cx/img12/3056/bouhh.jpg


---------------
Excel est mon ami pour la vie - http://marion.chtitemouss.net/
n°851480
crapaudine
Batracien jovial
Posté le 16-09-2004 à 09:43:12  profilanswer
 

ça y est : plusieurs heures de recherche, une bonne nuit de sommeil et j'ai réussi.... :sol:  
Merci Arkeod pour le coup de main qui m'a bien mise sur la voie.... [:arnaud_w]  
 
Pour ceux que ça intéresse (enfin les débutants comme moi)
LE code est devenu cela :  
Sheets("ALTIS" ).Activate
Cells(1, 7).Activate
i = 0
 
 
While (Cells(i + 1, 7) <> "" )
i = i + 1
Wend
'NbLigne = i
 
'Range(Cells(1, 5), Cells(NbLigne, 7)).Select
Range(Cells(1, 5), Cells(i, 7)).Select
 
'création du tableau croisé dynamique
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="ALTIS!R1C5:R" & i & "C7" ). _
    CreatePivotTable TableDestination:="", TableName:="Altis"
    ActiveSheet.Name = "Pivot toutAlti"
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveSheet.PivotTables("Altis" ).SmallGrid = False
    With ActiveSheet.PivotTables("Altis" ).PivotFields("Nom" )
        .Orientation = xlRowField
        .Position = 1
    End With
    With ActiveSheet.PivotTables("Altis" ).PivotFields("Encours" )
        .Orientation = xlDataField
        .Position = 1
    End With


---------------
Excel est mon ami pour la vie - http://marion.chtitemouss.net/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Déclaration de la source d'un tableau croisé dyn en VBA **RESOLU**

 

Sujets relatifs
vba dans accessCorrespondance formule Excel / VBA
Retourner un tableau d'éléments de type utilisateurouverture fichier xlx en ordre alpha en vba
ouverture fichiers xls ordre alpha en vbavba dans access
vba dans accessVBA Excel instruction pour desactiver les Msgbox() ?
protéger ,brouiller,le code source?Quel logiciel?[VBA Cde Shell] problème avec les espaces
Plus de sujets relatifs à : Déclaration de la source d'un tableau croisé dyn en VBA **RESOLU**


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR