stephane.79
XLDnaute Nouveau
Bonjour à tous,
Dans la procédure ci-dessous, je n’arrive pas à sélectionner les représentants appartenant à une région. Elle bloque sur " .PivotFields("Représentant").CurrentPage = Rep(j) ", je ne comprends pas pourquoi.
La définition de mes variables ou du tableau ne doivent pas être correcte ? Je m’en remets à vos lumières et vous remerci de votre aide.
Cf fichier jont en plus de la procédure ci-dessous
Sub Test_Selection_TCD()
'
Dim Region As String
Dim Rep(5) As String
Dim nbrep As Integer
Dim Pvt1 As PivotTable
Dim Pvt2 As PivotTable
Dim i As Integer
Dim j As Integer
Application.ScreenUpdating = False
If Region = "NORD" Then
nbrep = 4
Rep(0) = "Jean"
Rep(1) = "Pierre"
Rep(2) = "Paul"
Rep(3) = "Alain"
Rep(4) = "(tous)"
ElseIf Region = "SUD" Then
nbrep = 3
Rep(0) = "David"
Rep(1) = "Antoine"
Rep(2) = "Laurent"
Rep(3) = "(tous)"
End If
Sheets("Région").Select
Set Pvt1 = ActiveSheet.PivotTables("TCD_Région")
With Pvt1
For i = 1 To .PivotFields("Région").PivotItems.Count + 1
If i = .PivotFields("Région").PivotItems.Count + 1 Then
Region = "(Tous)"
Else
Region = CStr(.PivotFields("Région").PivotItems(i))
End If
.PivotFields("Région").CurrentPage = Region
Sheets("Région").Copy After:=ActiveSheet
'Copier / Coller Valeur de la nouvelle feuille
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Range("C8").Select
Sheets("Région Rep").Select
Set Pvt2 = ActiveSheet.PivotTables("TCD_Région_Rep")
With Pvt2
For j = 0 To nbrep
.PivotFields("Région").CurrentPage = Region
.PivotFields("Représentant").CurrentPage = Rep(j)
Sheets("Région Rep").Copy After:=ActiveSheet
'Copier / Coller Valeur de la nouvelle feuille
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Range("C8").Select
Sheets(Array("Région (2)", "Région Rep (2)")).Move
Next j
End With
Next i
End With
Application.ScreenUpdating = True
End Sub
Dans la procédure ci-dessous, je n’arrive pas à sélectionner les représentants appartenant à une région. Elle bloque sur " .PivotFields("Représentant").CurrentPage = Rep(j) ", je ne comprends pas pourquoi.
La définition de mes variables ou du tableau ne doivent pas être correcte ? Je m’en remets à vos lumières et vous remerci de votre aide.
Cf fichier jont en plus de la procédure ci-dessous
Sub Test_Selection_TCD()
'
Dim Region As String
Dim Rep(5) As String
Dim nbrep As Integer
Dim Pvt1 As PivotTable
Dim Pvt2 As PivotTable
Dim i As Integer
Dim j As Integer
Application.ScreenUpdating = False
If Region = "NORD" Then
nbrep = 4
Rep(0) = "Jean"
Rep(1) = "Pierre"
Rep(2) = "Paul"
Rep(3) = "Alain"
Rep(4) = "(tous)"
ElseIf Region = "SUD" Then
nbrep = 3
Rep(0) = "David"
Rep(1) = "Antoine"
Rep(2) = "Laurent"
Rep(3) = "(tous)"
End If
Sheets("Région").Select
Set Pvt1 = ActiveSheet.PivotTables("TCD_Région")
With Pvt1
For i = 1 To .PivotFields("Région").PivotItems.Count + 1
If i = .PivotFields("Région").PivotItems.Count + 1 Then
Region = "(Tous)"
Else
Region = CStr(.PivotFields("Région").PivotItems(i))
End If
.PivotFields("Région").CurrentPage = Region
Sheets("Région").Copy After:=ActiveSheet
'Copier / Coller Valeur de la nouvelle feuille
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Range("C8").Select
Sheets("Région Rep").Select
Set Pvt2 = ActiveSheet.PivotTables("TCD_Région_Rep")
With Pvt2
For j = 0 To nbrep
.PivotFields("Région").CurrentPage = Region
.PivotFields("Représentant").CurrentPage = Rep(j)
Sheets("Région Rep").Copy After:=ActiveSheet
'Copier / Coller Valeur de la nouvelle feuille
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Range("C8").Select
Sheets(Array("Région (2)", "Région Rep (2)")).Move
Next j
End With
Next i
End With
Application.ScreenUpdating = True
End Sub