Passer variable dans ordre Sourcedata

corvelc

XLDnaute Occasionnel
Bonjour à tous,
Je souhaite pouvoir mettre à jour automatiquement par variable, la définition
de plage de données de mon tableau dynamique en passant simplement la
variable NbreLg qui contient le nombre de ligne du tableau source des
données.
La difficulté est que je n'arrive pas à passer cette variable (en rouge) dans
l'ordre à executer du fait d'utilisation des doubles cotes. Cela génére
effectivement une erreur de synthaxe.Merci, pour votre aide.

MACRO :

Sub Macro1()
Dim PlageLign1, PlageLign2, NbreLg As Integer, ValeurTbl

NbreLg = 3330

' PlageLign1 = "'Extract Globale Artémis-ACT01'!R1C1:R"
' NbreLg = 3330
' PlageLign2 = "C38"
' ValeurTbl = PlageLign1 & NbreLg & PlageLign2
' MsgBox ValeurTbl

Range("A1").Select
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"'Extract Globale Artémis-ACT01'!R1C1:R & NbreLg & C38"

' "'Extract Globale Artémis-ACT01'!R1C1:R3330C38" => Ordre d'origne
et comme cela ça fonctionne

ActiveSheet.PivotTables("Tableau croisé dynamique1").SmallGrid = False
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= _
Array("Code ProjSys", "Desc_Action", "Action"),
ColumnFields:="Données", _
PageFields:=Array("Equipe", "Secteur", "Departement")
Application.CommandBars("PivotTable").Visible = False

End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Passer variable dans ordre Sourcedata

Bonjour Corvelc,

Si j'ai bien compris, essaye peut être comme ceci :

Code:
Dim Maplage As Range, NbreLg As Integer
NbreLg = 3330
Set Maplage = Sheets("Extract Globale Artémis-ACT01").Range("A1:AL" & NbreLg)
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:=Maplage

sinon en placant les guillemets de cette façon :

Code:
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"'Extract Globale Artémis-ACT01'!R1C1:R" & NbreLg & "C38"

a tester...

bon après midi
@+
 

corvelc

XLDnaute Occasionnel
Re : Passer variable dans ordre Sourcedata

Merci
les deux solutions fonctionnent.
Tout compte fait, cela était simple, mais trop passé de temps ce matin sur mon programme. J'ai honte.:mad:
Mais c'est aussi l'aprés fétes.

Encore merci et bonne fin d'année
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 502
Membres
103 563
dernier inscrit
samyezzehar